Ethereumjs

如何通過 Etherscan 的 API 查詢 uint256 輸入合約函式?

  • May 3, 2021

我正在嘗試通過 Etherscan 的 API 查詢將 uint256 作為輸入的合約函式,但我不斷收到錯誤消息。根據這個答案,我意識到的格式應該如下:

[http://etherscan.io/api?module=proxy&action=eth_call&to=$$ address $$&data=0x函式雜湊]000000000000000000000000

$$ read input $$ 我從 remix 中獲得了函式雜湊,但我找不到在它之後為 uint256 輸入添加的內容。

參數必須是十六進制,填充到 32 個字節。

例如,對於tokenId200(0xc8十六進制):

https://api.etherscan.io/api?module=proxy&action=eth_call&to=0x60F80121C31A0d46B5279700f9DF786054aa5eE5&data=0x6352211e00000000000000000000000000000000000000000000000000000000000000c8

正確返回:

{"jsonrpc":"2.0","id":1,"result":"0x000000000000000000000000b687a0a94d2daeec6814b659c4fb3db3768ff2a1"}

這是該令牌所有者的地址,再次填充為 32 個字節。

引用自:https://ethereum.stackexchange.com/questions/98190