Last active
June 17, 2021 04:27
-
-
Save youngkiu/b5be55a195a330aba2e815edd508bf12 to your computer and use it in GitHub Desktop.
Retrieve all transactions of a specific address.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import requests | |
import json | |
def get_all_transactions(address): | |
query = ''' | |
query($address: Address!) { | |
chainQuery { | |
transactionQuery{ | |
signerTransactions: transactions(signer: $address) { | |
...transactionFields | |
} | |
involvedAddressTransactions: transactions(involvedAddress: $address) { | |
...transactionFields | |
} | |
} | |
} | |
} | |
fragment transactionFields on Transaction { | |
id | |
actions { | |
inspection | |
} | |
} | |
''' | |
variables = {'address': address} | |
response = requests.post('http://localhost:23061/graphql', | |
json={'query': query, 'variables': variables}) | |
results = response.json() | |
if 'errors' in results: | |
print(f'address: {address} - errors:', | |
json.dumps(results['errors'], indent=2)) | |
return None | |
transactions = \ | |
results['data']['chainQuery']['transactionQuery']['signerTransactions'] + \ | |
results['data']['chainQuery']['transactionQuery']['involvedAddressTransactions'] | |
tx_ids = [] | |
for transaction in transactions: | |
tx_id = transaction['id'] | |
tx_ids.append(tx_id) | |
print('TxId', tx_id) | |
for action in transaction['actions']: | |
print('Action', action['inspection']) | |
return tx_ids | |
if __name__ == '__main__': | |
import time | |
from datetime import timedelta | |
_start = time.time() | |
_address = '0x66D8A5E165196310497b0fc1Efc10B65d8538563' | |
_tx_ids = get_all_transactions(_address) | |
print('\n'.join(_tx_ids)) | |
_end = time.time() | |
_execution_time = _end - _start | |
print('Elapsed time:', timedelta(seconds=_execution_time)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment