我有以下情况:
交易:https ://etherscan.io/tx/0xc7ee5bf1ea144b4e9e7dad32b574990c5e1b832226a626973929246577954fdf
我可以使用以下代码在此交易“0xf629cbd94d3791c9250152bd8dfbdf380e2a3b9c”中获取合约地址:
$transaction_receipt = $geth->eth_getTransactionReceipt($transaction['hash']);
$erc20_address = $transaction_receipt['logs'][0]['topics'];
现在我需要通过合约地址获取这个 ERC20 代币的名称和符号。
我用“eth_call”试试运气,因为我看到有人在 stackoverflow 帖子中提到这一点。但不幸的是,我被语法困住了,我不确定这是否是正确的方法。
$geth->eth_call($transaction_receipt['logs'][0]['address'])
错误:
函数 dappstatus\Geth\JsonRpc::eth_call() 的参数太少,第 2321 行的 /var/www/html/app/Http/Controllers/HomeController.php 中传递了 1 个,而预期的正好是 2 个
在阅读 API wiki https://eth.wiki/json-rpc/API后,我尝试使用第二个参数
$geth->eth_call($transaction_receipt['logs'][0]['address'],"'id':1")
现在我得到这个错误(错误的语法)
无效参数 0:json:无法将字符串解组为 ethapi.CallArgs 类型的 Go 值
如果我使用 eth_call 的方式错误,也许有人为我的语法错误和 B 获得了 ERC20 名称和符号的解决方案。