Etherscan API 不一致的数据

Etherscan API inconsistent data

我对 Etherscan API 返回的数据有疑问。我正在使用两个端点:

(1) 按地址正常交易

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

(2) Erc721 交易地址

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

--> 铸造事件

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


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

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

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

txlist 端点 (docs) returns 本机交易列表 已发送 fromto 指定地址。但它没有考虑代币转移

由于 0x6b... transaction, and one of them contains the 0x0b... 地址作为其参数之一(特别是作为令牌接收方),因此发出了多个 Transfer() 事件日志(发出令牌传输、铸币或销毁信号的标准化方式) ).

但是,本机交易发送fromto0x0b...地址。这就是为什么它没有在端点中返回的原因。


在您的第二个示例中,0x57... native transaction was actually sent from the 0xB2... 地址。这就是它包含在 txlist 端点响应中的原因。

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