eth_call
这是常用的 JSON-RPC 方法。它用于读取智能合约在区块链中数据,因为是只读方法,所以调用不消耗任何Gas费。
我们可以使用 eth_call 方法调用智能合约的任何函数,它会返回十六进制格式的数据。
eth_call 用于调用智能合约的只读函数。 例如: 调用 ERC20 代币合约的 balanceOf 函数。
Parameters
Object - [必须] 交易调用对象
from
[必须] 发送交易的地址。to
[必须] 交易指向的地址。gas
[可选] 表示为交易执行提供的十六进制 Gas 值。 eth_call 消耗零 Gas,但某些执行可能需要此参数。gasPrice
[可选] 表示为付费交易的交易定价。maxPriorityFeePerGas
[可选] 最高优先 Gas 费,以 Wei 为单位,表示发送人愿意支付高于基础 Gas 费的优先费用。适用于: EIP-1559 交易。maxFeePerGas
[可选] 最高总费用,基础 Gas 费 + 优先 Gas 费,以 Wei 为单位,表示发送人愿意支付最大总费用。适用于: EIP-1559 交易。value
[可选] 表示与此交易一起发送的十六进制整数值。data
[可选] 方法签名和编码参数的哈希。参阅: 以太坊 ABI 规范。
Block-Number - [必须] 十六进制整数块号,或使用字符串:
latest
,earliest
orpending
。请参阅: 默认块号参数
Request
以下示例展示查询 ERC20 代币的 balanceOf
函数。
Response
返回合约执行结果。
最后更新于