Ethscriptions commited on
Commit
ba497ab
·
1 Parent(s): 516d3e1

Add application file

Browse files
.DS_Store ADDED
Binary file (8.2 kB). View file
 
README.md CHANGED
@@ -3,6 +3,7 @@ title: Eths
3
  emoji: 📚
4
  colorFrom: blue
5
  colorTo: yellow
 
6
  sdk: streamlit
7
  sdk_version: 1.26.0
8
  app_file: app.py
 
3
  emoji: 📚
4
  colorFrom: blue
5
  colorTo: yellow
6
+ python_version: 3.9.2
7
  sdk: streamlit
8
  sdk_version: 1.26.0
9
  app_file: app.py
data/.DS_Store ADDED
Binary file (6.15 kB). View file
 
pages/4_🕵️‍♀️_Ethscriptions Data.py CHANGED
@@ -8,7 +8,6 @@ from datetime import datetime, timezone
8
  import threading
9
  import base64
10
 
11
- test1 = '233'
12
  # 使用你的Ethereum节点的RPC地址
13
  w3 = Web3(Web3.HTTPProvider("https://mainnet.infura.io/v3/9bbc614b8a1d49d59869e97d0ee3bf61"))
14
 
@@ -22,7 +21,9 @@ ethscrptions_db_file = os.path.join(parent_dir, 'data', 'ethscriptions_data.db')
22
  ethscriptions_con = sqlite3.connect(ethscrptions_db_file)
23
  ethscriptions_cur = ethscriptions_con.cursor()
24
 
 
25
  def get_eths_data():
 
26
  # Initialize connection to SQLite database
27
  eths_conn = sqlite3.connect(eths_db_file)
28
  eths_cur = eths_conn.cursor()
@@ -72,7 +73,7 @@ def get_eths_data():
72
  eths_cur.execute('INSERT INTO eths_data VALUES (?,?,?,?,?,?,?,?,?)', data)
73
  eths_conn.commit()
74
  except Exception as e:
75
- pass
76
  time.sleep(60)
77
 
78
 
@@ -101,24 +102,22 @@ def get_ethscriptions_data():
101
  # 获取该区块中所有交易的列表
102
  transactions = block['transactions']
103
  for tx in transactions:
104
- print(tx['input'])
105
- print(type(tx['input']))
106
  input_data = tx['input']
107
 
108
  if input_data.startswith(r"0x646174613a2c"):
109
  # if bytes.fromhex(input_data).startswith(b"data:,"):
110
 
111
  existing_data = ethscriptions_thread_cur.execute("SELECT * FROM data WHERE data=?",
112
- (input_data,)).fetchone()
113
 
114
  if not existing_data:
115
  timestamp = datetime.fromtimestamp(block['timestamp'], tz=timezone.utc)
116
 
117
  ethscriptions_thread_cur.execute('''INSERT INTO data (block_time, block_number, data, owner, hash)
118
  VALUES (?, ?, ?, ?, ?)''',
119
- (
120
- timestamp, tx['blockNumber'], input_data, tx['to'],
121
- tx['hash'].hex()))
122
 
123
  ethscriptions_thread_con.commit()
124
  print(f'-----{input_data}-----')
@@ -176,12 +175,12 @@ if eths_data:
176
 
177
  eths_stakers = st.metric(label='ETHS TVL', value=f'${eths_data[0][8]:,.0f}')
178
 
179
-
180
  ethscriptions_cur.execute("SELECT block_number FROM process_blocks")
181
  result = ethscriptions_cur.fetchone()
182
  processed_block = result[0]
183
  latest_block_number = w3.eth.block_number
184
- st.markdown(f'EthPen Ethscriptions Index Status:当前 Ethereum 最高区块:{latest_block_number},已处理区块:{processed_block}')
 
185
 
186
  download = st.checkbox('⏬️', value=False)
187
  if download:
@@ -191,33 +190,27 @@ if download:
191
  ethscrptions_db_file = os.path.join(parent_dir, 'data', 'ethscriptions_data.db')
192
  st.download_button(
193
  label='下载数据库',
194
- data=open(ethscrptions_db_file,'rb'),
195
  file_name='ethscriptions_data.db',
196
  mime='application/octet-stream'
197
  )
 
 
 
 
 
198
  # 修改状态值
199
- old_state = "0"
200
- ethscriptions_cur.execute("UPDATE thread_start_state SET state = ?", (old_state,))
201
  ethscriptions_con.commit()
202
 
203
- while True:
204
- time.sleep(10)
205
- # 查询state列的值
206
- ethscriptions_cur.execute("SELECT state FROM thread_start_state")
207
- state_value = ethscriptions_cur.fetchone()[0]
208
- if state_value == "0":
209
- # 修改状态值
210
- new_state = "1"
211
- ethscriptions_cur.execute("UPDATE thread_start_state SET state = ?", (new_state,))
212
- ethscriptions_con.commit()
213
-
214
- eths_thread = threading.Thread(target=get_eths_data)
215
- ethscriptions_thread = threading.Thread(target=get_ethscriptions_data)
216
-
217
- # 启动线程
218
- eths_thread.start()
219
- ethscriptions_thread.start()
220
-
221
- # 等待线程结束
222
- eths_thread.join()
223
- ethscriptions_thread.join()
 
8
  import threading
9
  import base64
10
 
 
11
  # 使用你的Ethereum节点的RPC地址
12
  w3 = Web3(Web3.HTTPProvider("https://mainnet.infura.io/v3/9bbc614b8a1d49d59869e97d0ee3bf61"))
13
 
 
21
  ethscriptions_con = sqlite3.connect(ethscrptions_db_file)
22
  ethscriptions_cur = ethscriptions_con.cursor()
23
 
24
+
25
  def get_eths_data():
26
+ global eths_conn, eths_cur
27
  # Initialize connection to SQLite database
28
  eths_conn = sqlite3.connect(eths_db_file)
29
  eths_cur = eths_conn.cursor()
 
73
  eths_cur.execute('INSERT INTO eths_data VALUES (?,?,?,?,?,?,?,?,?)', data)
74
  eths_conn.commit()
75
  except Exception as e:
76
+ print(e)
77
  time.sleep(60)
78
 
79
 
 
102
  # 获取该区块中所有交易的列表
103
  transactions = block['transactions']
104
  for tx in transactions:
 
 
105
  input_data = tx['input']
106
 
107
  if input_data.startswith(r"0x646174613a2c"):
108
  # if bytes.fromhex(input_data).startswith(b"data:,"):
109
 
110
  existing_data = ethscriptions_thread_cur.execute("SELECT * FROM data WHERE data=?",
111
+ (input_data,)).fetchone()
112
 
113
  if not existing_data:
114
  timestamp = datetime.fromtimestamp(block['timestamp'], tz=timezone.utc)
115
 
116
  ethscriptions_thread_cur.execute('''INSERT INTO data (block_time, block_number, data, owner, hash)
117
  VALUES (?, ?, ?, ?, ?)''',
118
+ (
119
+ timestamp, tx['blockNumber'], input_data, tx['to'],
120
+ tx['hash'].hex()))
121
 
122
  ethscriptions_thread_con.commit()
123
  print(f'-----{input_data}-----')
 
175
 
176
  eths_stakers = st.metric(label='ETHS TVL', value=f'${eths_data[0][8]:,.0f}')
177
 
 
178
  ethscriptions_cur.execute("SELECT block_number FROM process_blocks")
179
  result = ethscriptions_cur.fetchone()
180
  processed_block = result[0]
181
  latest_block_number = w3.eth.block_number
182
+ st.markdown(
183
+ f'EthPen Ethscriptions Index Status:当前 Ethereum 最高区块:{latest_block_number},已处理区块:{processed_block}')
184
 
185
  download = st.checkbox('⏬️', value=False)
186
  if download:
 
190
  ethscrptions_db_file = os.path.join(parent_dir, 'data', 'ethscriptions_data.db')
191
  st.download_button(
192
  label='下载数据库',
193
+ data=open(ethscrptions_db_file, 'rb'),
194
  file_name='ethscriptions_data.db',
195
  mime='application/octet-stream'
196
  )
197
+
198
+ # 查询state列的值
199
+ ethscriptions_cur.execute("SELECT state FROM thread_start_state")
200
+ state_value = ethscriptions_cur.fetchone()[0]
201
+ if state_value == "0":
202
  # 修改状态值
203
+ new_state = "1"
204
+ ethscriptions_cur.execute("UPDATE thread_start_state SET state = ?", (new_state,))
205
  ethscriptions_con.commit()
206
 
207
+ eths_thread = threading.Thread(target=get_eths_data)
208
+ ethscriptions_thread = threading.Thread(target=get_ethscriptions_data)
209
+
210
+ # 启动线程
211
+ eths_thread.start()
212
+ ethscriptions_thread.start()
213
+
214
+ # 等待线程结束
215
+ eths_thread.join()
216
+ ethscriptions_thread.join()
 
 
 
 
 
 
 
 
 
 
 
video/.DS_Store ADDED
Binary file (6.15 kB). View file