4byte
Examples
In [1]:
from ctc.protocols import fourbyte_utils
Build local copy of 4byte database¶
In [2]:
await fourbyte_utils.async_build_function_signatures_dataset()
await fourbyte_utils.async_build_event_signatures_dataset()
saving to /home/storm/ctc_data/4byte/function_signatures.json dataset built with 698836 signatures saving to /home/storm/ctc_data/4byte/event_signatures.json dataset built with 118270 signatures
Check whether local copy of 4byte database exists¶
In [3]:
local_function_db_exists = fourbyte_utils.local_function_signatures_exist()
local_event_db_exists = fourbyte_utils.local_event_signatures_exist()
print(local_function_db_exists)
print(local_event_db_exists)
True True
Query function signature¶
In [4]:
await fourbyte_utils.async_query_function_signature('0x18160ddd')
Out[4]:
[{'id': 179, 'created_at': '2016-07-09T03:58:45.230129Z', 'text_signature': 'totalSupply()', 'hex_signature': '0x18160ddd', 'bytes_signature': '\x18\x16\rÝ'}, {'id': 166702, 'created_at': '2019-10-03T12:55:14.688679Z', 'text_signature': 'voting_var(address,uint256,int128,int128)', 'hex_signature': '0x18160ddd', 'bytes_signature': '\x18\x16\rÝ'}]
Query event signature¶
In [5]:
event_hash = '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef'
await fourbyte_utils.async_query_event_signature(event_hash)
Out[5]:
[{'id': 1, 'created_at': '2020-11-30T22:38:00.801049Z', 'text_signature': 'Transfer(address,address,uint256)', 'hex_signature': '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef', 'bytes_signature': 'ÝòR\xad\x1bâÈ\x9bi°hü7\x8dª\x95+§ñcÄ¡\x16(õZMõ#³ï'}]
Reference
- async ctc.protocols.fourbyte_utils.async_build_event_signatures_dataset()
- Return type
<class ‘NoneType’>
- async ctc.protocols.fourbyte_utils.async_build_function_signatures_dataset()
- Return type
<class ‘NoneType’>
- async ctc.protocols.fourbyte_utils.async_query_event_signature(hex_signature=None, *, id=None, bytes_signature=None, text_signature=None, source='local')
- async ctc.protocols.fourbyte_utils.async_query_function_signature(hex_signature=None, *, id=None, bytes_signature=None, text_signature=None, source='local')
- ctc.protocols.fourbyte_utils.local_event_signatures_exist()
- Return type
<class ‘bool’>
- ctc.protocols.fourbyte_utils.local_function_signatures_exist()
- Return type
<class ‘bool’>