以太坊JSON RPC手册

eth_sendTransaction

创建一个新的消息调用交易,如果数据字段中包含代码,则创建一个合约。

参数

Object - 交易对象,结果如下:

  • from: DATA, 20字节 - 发送交易的源地址
  • to: DATA, 20字节 - 交易的目标地址,当创建新合约时可选
  • gas: QUANTITY - 交易执行可用gas量,可选整数,默认值90000,未用gas将返还。
  • gasPrice: QUANTITY - gas价格,可选,默认值:待定(To-Be-Determined)
  • value: QUANTITY - 交易发送的金额,可选整数
  • data: DATA - 合约的编译带啊或被调用方法的签名及编码参数
  • nonce: QUANTITY - nonce,可选。可以使用同一个nonce来实现挂起的交易的重写
params: [{
  "from": "0xb60e8dd61c5d32be8058bb8eb970870f07233155",
  "to": "0xd46e8dd67c5d32be8058bb8eb970870f07244567",
  "gas": "0x76c0", // 30400
  "gasPrice": "0x9184e72a000", // 10000000000000
  "value": "0x9184e72a", // 2441406250
  "data": "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675"
}]

返回值

DATA, 32字节 - 交易哈希,如果交易还未生效则返回0值哈希

当创建合约时,在交易生效后,使用eth_getTransactionReceipt调用获取合约地址。

示例代码

请求:

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_sendTransaction","params":[{see above}],"id":1}'

响应:

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