99import substrateinterface
1010
1111from async_substrate_interface .async_substrate import AsyncSubstrateInterface
12+ from async_substrate_interface .sync_substrate import SubstrateInterface
1213
1314try :
1415 n = int (os .getenv ("NUMBER_RUNS" ))
1516except TypeError :
1617 n = 3
1718
18-
19+ FINNEY_ENTRYPOINT = "wss://entrypoint-finney.opentensor.ai:443"
1920coldkey = "5HHHHHzgLnYRvnKkHd45cRUDMHXTSwx7MjUzxBrKbY4JfZWn"
2021
2122# dtao epoch is 4920350
@@ -70,7 +71,7 @@ async def exhaust(qmr):
7071
7172 start = time .time ()
7273 async with AsyncSubstrateInterface (
73- "wss://entrypoint-finney.opentensor.ai:443" , ss58_format = SS58_FORMAT
74+ FINNEY_ENTRYPOINT , ss58_format = SS58_FORMAT
7475 ) as substrate :
7576 block_hash = await substrate .get_chain_head ()
7677 tasks = [
@@ -92,16 +93,37 @@ async def exhaust(qmr):
9293 )
9394
9495 elapsed = time .time () - start
95- print (f"time elapsed : { elapsed } " )
96+ print (f"Async Time : { elapsed } " )
9697
9798 print ("Async Results" , len (results_dicts_list ))
9899 return results_dicts_list , block_hash
99100
101+ def sync_new_method (block_hash ):
102+ result_dicts_list = []
103+ start = time .time ()
104+ with SubstrateInterface (
105+ FINNEY_ENTRYPOINT , ss58_format = SS58_FORMAT
106+ ) as substrate :
107+ for netuid in range (1 , 51 ):
108+ tao_divs = list (
109+ substrate .query_map (
110+ "SubtensorModule" ,
111+ "TaoDividendsPerSubnet" ,
112+ [netuid ],
113+ block_hash = block_hash ,
114+ )
115+ )
116+ tao_divs = [(decode_account_id (k ), v .value ) for k , v in tao_divs ]
117+ result_dicts_list .extend (tao_divs )
118+ print ("New Sync Time:" , time .time () - start )
119+ print ("New Sync Results" , len (result_dicts_list ))
120+ return result_dicts_list
121+
100122 def sync_old_method (block_hash ):
101123 results_dicts_list = []
102124 start = time .time ()
103125 substrate = substrateinterface .SubstrateInterface (
104- "wss://entrypoint-finney.opentensor.ai:443"
126+ FINNEY_ENTRYPOINT , ss58_format = SS58_FORMAT
105127 )
106128 for netuid in range (1 , 51 ):
107129 tao_divs = list (
@@ -114,11 +136,15 @@ def sync_old_method(block_hash):
114136 )
115137 tao_divs = [(k .value , v .value ) for k , v in tao_divs ]
116138 results_dicts_list .extend (tao_divs )
117- print (time .time () - start )
118- print ("Sync Results" , len (results_dicts_list ))
139+ substrate .close ()
140+ print ("Legacy Sync Time:" , time .time () - start )
141+ print ("Legacy Sync Results" , len (results_dicts_list ))
119142 return results_dicts_list
120143
121144 async_ , block_hash_ = await async_gathering ()
122- sync_ = sync_old_method (block_hash_ )
145+ new_sync_ = sync_new_method (block_hash_ )
146+ legacy_sync = sync_old_method (block_hash_ )
123147 for k_v in async_ :
124- assert k_v in sync_
148+ assert k_v in legacy_sync
149+ for k_v in new_sync_ :
150+ assert k_v in legacy_sync
0 commit comments