javascript 将已签名的交易发送到以太坊的合同
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 将已签名的交易发送到以太坊的合同相关的知识,希望对你有一定的参考价值。
// Sending a signed transaction to a contract
// using the contract's owner's private key
// "web3": "^1.0.0-beta.30"
// "ethereumjs-tx": "^1.3.3",
// createItem function takes (name, price) as args
const web3 = new Web3(new Web3.providers.HttpProvider(INFURA_URL))
const myContract = new web3.eth.Contract(MY_ABI, MY_CONRACT_ADDRESS)
const ownerAccount = ""
const ownerPrivateKey = ""
web3.eth.getTransactionCount(ownerAccount, (err, nonce) => {
if (err) {
console.log(err)
callback(err)
return
}
const data = myContract.methods.createItem(name, price).encodeABI()
const tx = new EthereumTx({
nonce: nonce,
gasPrice: web3.utils.toHex(web3.utils.toWei('20', 'gwei')),
gasLimit: 100000,
to: MY_CONRACT_ADDRESS,
value: 0,
data: data,
})
tx.sign(new Buffer(ownerPrivateKey, 'hex'))
const raw = '0x' + tx.serialize().toString('hex')
web3.eth.sendSignedTransaction(raw, (err, transactionHash) => {
if (err) {
console.log(err)
callback()
return
}
callback(transactionHash)
})
})
以上是关于javascript 将已签名的交易发送到以太坊的合同的主要内容,如果未能解决你的问题,请参考以下文章
是否可以从以太坊的另一个账户支付交易费用?
以太坊钱包开发系列4 - 发送Token(代币)
以太坊钱包开发系列4 - 发送Token(代币)
以太坊/Solidity 新手:方便地发送多笔交易
基于以太坊的开发,教你如何节省手续费
以太坊: ETH 发送交易 sendRawTransaction 方法数据的签名 和 验证过程