contract_invokeContract

调用合约。

Parameters

  1. <Object>
  • from: <string> - 20字节的十六进制字符串,交易发送方的地址。
  • to: <string> - 20字节的十六进制字符串,合约地址。
  • nonce: <number> - 16位随机数,该值必须为十进制整数。
  • extra: <string> -[可选] 交易的额外信息。
  • timestamp: <number> - 交易发生时间戳(单位ns)。
  • payload: <string> - 该值为方法名和方法参数经过编码后的input字节码。
  • signature: <string> - 交易签名。
  • simulate: <bool> - [可选] 默认为false。true表示交易不走共识,false表示走共识。
  • type: <string> - [可选] 指定合约执行引擎,默认为“evm”。如果合约代码由java语言编写,则需要设置该值为“jvm”

注解

说明:to合约地址需要在部署完合约以后,调用 tx_getTransactionReceipt 方法来获取。

Returns

  1. <string> - 32字节的十六进制字符串,交易的哈希值。

Example

  1. # Request
  2. curl localhost:8081 --data '{"jsonrpc":"2.0", "namespace":"global", "method": "contract_invokeContract", "params":[{
  3. "from":"0x17d806c92fa941b4b7a8ffffc58fa2f297a3bffc",
  4. "nonce":5019420501875693,
  5. "payload":"0x3ad14af300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002",
  6. "signature":"0xde467ec4c0bd9033bdc3b6faa43a8d3c5dcf393ed9f34ec1c1310b0859a0ecba15c5be4480a9ad2aaaea8416324cb54e769856775dd5407f9fd64f0467331c9301",
  7. "simulate":false,
  8. "timestamp":1487773188814000000,
  9. "to":"0x313bbf563991dc4c1be9d98a058a26108adfcf81"
  10. }],"id":"1"}'
  11.  
  12. # Response
  13. {
  14. "jsonrpc":"2.0",
  15. "namespace":"global",
  16. "id":1,
  17. "code":0,
  18. "message":"SUCCESS",
  19. "result":"0xd7a07fbc8ea43ace5c36c14b375ea1e1bc216366b09a6a3b08ed098995c08fde"
  20. }