eth_call

以只读方式立即执行消息调用,但不在区块链上创建交易(功能等同于 triggerConstantContract)。

参数

  1. Object - transaction对象, 包含的元素如下:

    名称数据类型描述
    fromDATA, 20 Bytes调用者地址,采用 TRON 的十六进制地址格式,并去除前缀 41
    toDATA, 20 Bytes合约地址,采用 TRON 的十六进制地址格式,并去除前缀 41
    gasQUANTITY当前实现不使用该字段。
    gasPriceQUANTITY当前实现不使用该字段。
    valueQUANTITY[可选] 随调用发送的 TRX 数额 (单位: sun,格式: Hex)。在执行中映射为合约内的 msg.value,仅用于模拟逻辑执行,不产生真实转账。
    dataDATA函数选择器及 ABI 编码后的参数;为兼容旧客户端保留宽松 hex 解析。
    inputDATAdata 的别名;两者同时设置时优先使用 input。非空值必须带 0x 前缀且 hex 位数为偶数;空字符串表示空字节。
  2. QUANTITY|TAG|Object - 字符串形式目前只支持 "latest"。对象形式可包含 blockNumberblockHash,节点会验证引用区块存在,但调用仍基于 latest state 执行,并不提供历史状态执行。

earliestpendingfinalizedsafe 均不能作为本接口的字符串区块标签。对象同时包含 blockNumberblockHash 时,blockNumber 优先。

返回值

  • DATA - 执行合约函数的返回结果

示例

请求

curl -X POST 'https://api.shasta.trongrid.io/jsonrpc' --data '{
	"jsonrpc": "2.0",
	"method": "eth_call",
	"params": [{
		"from": "0xF0CC5A2A84CD0F68ED1667070934542D673ACBD8",
		"to": "0x70082243784DCDF3042034E7B044D6D342A91360",
		"gas": "0x0",
		"gasPrice": "0x0",
		"value": "0x0",
		"data": "0x70a08231000000000000000000000041f0cc5a2a84cd0f68ed1667070934542d673acbd8"
	}, "latest"],
	"id": 1
}'

结果

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