我想获取特定智能合约的信息 - 部署在 RSK 测试网上 - 以从其存储中获取数据值。我怎样才能做到这一点?我正在使用eth_getStorageAt
JSON-RPC,但我得到了意想不到的结果。
问问题
40 次
1 回答
5
为此,您确实使用了eth_getStorageAt
RPC 请求。这是一个例子:
curl \
-X POST \
-H "Content-Type:application/json" \
--data '{"jsonrpc":"2.0","method":"eth_getStorageAt","params":["0x19f64674d8a5b4e652319f5e239efd3bc969a1fe", "0x1", "latest"],"id":1}' \
https://public-node.testnet.rsk.co/
这将产生以下响应
{
"jsonrpc": "2.0",
"id": 1, "result":"0x0000000000000000000000000000000000000000033b2e3c9fd0803ce8000000"
}
它是如何工作的 - eth_getStorageAt
RPC 需要 3 个参数:
ADDRESS
- 智能合约的地址字符串STORAGE_POSITION
- 用于存储智能合约的位置的十六进制字符串BLOCK_PARAMETER
- 整数块编号的十六进制字符串,用于特定块的值,或latest
最新值的字符串
最后一个参数 ( BLOCK_PARAMETER
) 很有趣,例如,您可以使用它来查询历史值,并查看存储中该位置的数据如何随时间变化。
于 2021-05-31T09:56:54.710 回答