contract_deployContract

部署合约。

Parameters

  1. <Object>
  • from: <string> - 20字节的十六进制字符串,交易发送方的地址。
  • nonce: <number> - 16位随机数,该值必须为十进制整数。
  • extra: <string> -[可选] 交易的额外信息。
  • timestamp: <number> - 交易发生时间戳(单位ns)。
  • payload: <string> - 合约编码。如果是solidity合约,则该值为contract_complieContract方法返回的bin以及构造函数参数的拼接。如果是java合约,该值为class文件和配置文件压缩后的字节流。
  • signature: <string> - 交易签名。
  • type: <string> - [可选] 指定合约执行引擎,默认为“evm”。如果合约代码由java语言编写,则需要设置该值为“jvm”

注解

若合约构造函数需要传参,则payload为编译合约返回的bin与构造函数参数编码的字符串拼接。

Returns

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

Example

  1. # Request
  2. curl localhost:8081 --data '{"jsonrpc":"2.0", "namespace":"global", "method":"contract_deployContract", "params":[{
  3. "from":"0x17d806c92fa941b4b7a8ffffc58fa2f297a3bffc",
  4. "nonce":5373500328656597,
  5. "payload":"0x60606040526000805463ffffffff1916815560ae908190601e90396000f3606060405260e060020a60003504633ad14af381146030578063569c5f6d14605e578063d09de08a146084575b6002565b346002576000805460e060020a60243560043563ffffffff8416010181020463ffffffff199091161790555b005b3460025760005463ffffffff166040805163ffffffff9092168252519081900360200190f35b34600257605c6000805460e060020a63ffffffff821660010181020463ffffffff1990911617905556",
  6. "signature":"0x388ad7cb71b1281eb5a0746fa8fe6fda006bd28571cbe69947ff0115ff8f3cd00bdf2f45748e0068e49803428999280dc69a71cc95a2305bd2abf813574bcea900",
  7. "timestamp":1487771157166000000
  8. }],"id":"1"}'
  9.  
  10. # Response
  11. {
  12. "jsonrpc": "2.0",
  13. "namespace":"global",
  14. "id": 1,
  15. "code": 0,
  16. "message": "SUCCESS",
  17. "result": "0x406f89cb205e136411fd7f5befbf8383bbfdec5f6e8bcfe50b16dcff037d1d8a"
  18. }