web3.eth.sendTransaction

优质
小牛编辑
128浏览
2023-12-01

web3.eth.sendTransaction(transactionObject [, callback])

发送一个交易到网络。

参数:

  • Object - 要发送的交易对象。
    • from: String - 指定的发送者的地址。如果不指定,使用web3.eth.defaultAccount
    • to: String - (可选)交易消息的目标地址,如果是合约创建,则不填.
    • value: Number|String|BigNumber - (可选)交易携带的货币量,以wei为单位。如果合约创建交易,则为初始的基金。
    • gas: Number|String|BigNumber - (可选)默认是自动,交易可使用的gas,未使用的gas会退回。
    • gasPrice: Number|String|BigNumber - (可选)默认是自动确定,交易的gas价格,默认是网络gas价格的平均值 。
    • data: String - (可选)或者包含相关数据的字节字符串,如果是合约创建,则是初始化要用到的代码。
    • nonce: Number - (可选)整数,使用此值,可以允许你覆盖你自己的相同nonce的,正在pending中的交易11
  • Function - 回调函数,用于支持异步的方式执行[async]。

返回值:

String - 32字节的交易哈希串。用16进制表示。

如果交易是一个合约创建,请使用web3.eth.getTransactionReceipt()在交易完成后获取合约的地址。

示例:

// compiled solidity source code using https://chriseth.github.io/cpp-ethereum/
var code = "603d80600c6000396000f3007c01000000000000000000000000000000000000000000000000000000006000350463c6888fa18114602d57005b6007600435028060005260206000f3";

web3.eth.sendTransaction({data: code}, function(err, address) {
  if (!err)
    console.log(address); // "0x7f9fade1c0d57a7af66ab4ead7c2eb7b11a91385"
});