0

我遇到了从 Etherscan API 返回的数据的问题。我正在使用两个端点:

(1) 按地址划分的正常交易

https://api.etherscan.io/api?module=account&action=txlist

(2) Erc721 Transaction by Address

https://api.etherscan.io/api?module=account&action=tokennfttx

  • 地址:0x0b8f4c4e7626a91460dac057eb43e0de59d5b44f
  • 哈希:0x6b2103201b968e5ad9a26041127080c4969b10191c8ad94082980487d6fbd9aa

--> 薄荷事件

调用 (2) 时,我可以看到此交易,但此端点不传递传输的值。我曾经通过调用 (1) 并遍历列表并匹配 tx 哈希来获取值,但它没有列出。在 Etherscan 上,您可以看到转移值为 0.05 Eth 的铸币事件(https://etherscan.io/tx/0x6b2103201b968e5ad9a26041127080c4969b10191c8ad94082980487d6fbd9aa)。但是这些信息是从哪里来的呢?如何找到转移的价值?


现在是另一个有效的例子:

  • 地址:0xB2Ebc9b3a788aFB1E942eD65B59E9E49A1eE500D
  • 哈希:0x57ece5c8b9f040f43faac83a68883a5324f2ef6d36ad0018dc6813a0c851ff74

我可以在调用 (2) 时看到交易,并且在调用 (1) 时还可以看到匹配的 tx 哈希

非常感谢任何支持和提示!

4

1 回答 1

3

txlist端点 ( docs ) 返回已发送的本机事务from列表和to指定地址。但它没有考虑代币转移

作为0x6b...Transfer()交易的结果,发出了几个事件日志(表示令牌转移、铸造或销毁的标准化方式) ,其中一个包含0x0b...地址作为其参数之一(特别是作为令牌接收者)。

但是,未发送本机交易from或地址。这就是为什么它没有在端点中返回。to0x0b...


在您的第二个示例中,0x57...本机事务实际上是从0xB2...地址发送的。这就是它包含在txlist端点响应中的原因。

它还包含Transfer()事件日志,向同一个0xB2...地址发出令牌铸币信号,但这是不重要的因素。txlist如果令牌被转移到任何其他地址或根本不转移,它不会有任何区别(与端点相关)。

于 2021-11-01T01:25:50.850 回答