Etherscan|Web3py hoy通过API(或其他)获取代币的dex交易



我正试图让所有dex交易知道谁在特定日期发送或接收了确定的代币。在这种情况下,我正在寻找与此代币相关的交易

https://etherscan.io/token/0x3d658390460295fb963f54dc0899cfb1c30776df

我实现的获取交易的功能如下:

def get_transactions_by_address_(self, address,
action='txlist',
sort='desc',
page=1,
offset=1000,
startblock=None,
endblock=None):
"""
:param address:
:param action: ['tokennfttx', 'txlist', 'txlistinternal', 'balancehistory', 'balancemulti']
:param sort: ['desc', 'asc']
:param **kwargs:
startblock=0
endblock=92702578
:return:
"""
token = self.etherscan_api_key
options = {
'module': 'account',
'action': action,
'address': address,
'apikey': token,
'sort': sort,
'page': page,
'offset': offset
}
if startblock:
options['startblock'] = startblock
if endblock:
options['endblock'] = endblock
return requests.get('https://api.etherscan.io/api',
params=options
)

如果我从startblock搜索事务:13692509-->端块:13755040使用以下所有参数作为操作参数:['tokenftx','txlist','txlistinternal'],我只得到"的结果;txlist";,也在事务字典From->在标记"To"中;TO";,所有值都对应于令牌地址;钱包地址";在每笔交易中都收到了代币,而不仅仅是代币合约。

由于区块链的性质,我理解这种结果是合乎逻辑的,但我想知道的哪个地址收到了给定的代币

  1. 内部交易

  2. Dex交易

  3. 如果其他,则其他选项

请尝试使用action=tokentx使url像这样https://api.etherscan.io/api?module=account&action=tokentx&startblock={}&endblock={}&sort=asc&apikey=your api key&contractaddress=0x3d658390460295fb963f54dc0899cfb1c30776df

https://docs.etherscan.io/api-endpoints/accounts#get-erc20-token-transfer-events-by-address 列表

最新更新