Web3js signTransaction
Web3js signTransation
我正在按照文档进行操作,以便能够在 Kovan 测试网上签署和发送交易。当我控制台输出 txHash 时,我目前得到一个未定义的值。
web3.eth.getTransactionCount(account1, (err, txCount) => {
// 1)Build Transaction
const txObject = {
nonce: web3.utils.toHex(txCount),
to: account2,
value: web3.utils.toHex(web3.utils.toWei('0.05', 'ether')),
gasLimit: web3.utils.toHex(2100),
gasPrice: web3.utils.toHex(web3.utils.toWei('10', 'gwei'))
}
// 2)Sign Transaction
const tx = new Tx(txObject,{'chain':42})
tx.sign(privateKey1)
const serializedTransaction = tx.serialize()
const raw = '0x' + serializedTransaction.toString('hex')
console.log("raw:", raw)
console.log("tx:", serializedTransaction)
// 3)Broadcast Transaction
web3.eth.sendSignedTransaction(raw, (err, txHash) =>{
console.log('txHash:', txHash)
})
// COMMENTED-OUT web3.eth.sendSignedTransaction('0x' + serializedTransaction .toString('hex'))
// .on('receipt', console.log);
})
signTransaction()
只执行签名。它不会将(签名的)交易广播到网络。
为此,您可以使用 sendSignedTransaction()
(docs),它将(签名和序列化的)tx 数据提交给提供商,提供商将其广播到网络。
web3.eth.sendSignedTransaction(signedTx.rawTransaction)
.on('receipt', console.log);
我正在按照文档进行操作,以便能够在 Kovan 测试网上签署和发送交易。当我控制台输出 txHash 时,我目前得到一个未定义的值。
web3.eth.getTransactionCount(account1, (err, txCount) => {
// 1)Build Transaction
const txObject = {
nonce: web3.utils.toHex(txCount),
to: account2,
value: web3.utils.toHex(web3.utils.toWei('0.05', 'ether')),
gasLimit: web3.utils.toHex(2100),
gasPrice: web3.utils.toHex(web3.utils.toWei('10', 'gwei'))
}
// 2)Sign Transaction
const tx = new Tx(txObject,{'chain':42})
tx.sign(privateKey1)
const serializedTransaction = tx.serialize()
const raw = '0x' + serializedTransaction.toString('hex')
console.log("raw:", raw)
console.log("tx:", serializedTransaction)
// 3)Broadcast Transaction
web3.eth.sendSignedTransaction(raw, (err, txHash) =>{
console.log('txHash:', txHash)
})
// COMMENTED-OUT web3.eth.sendSignedTransaction('0x' + serializedTransaction .toString('hex'))
// .on('receipt', console.log);
})
signTransaction()
只执行签名。它不会将(签名的)交易广播到网络。
为此,您可以使用 sendSignedTransaction()
(docs),它将(签名和序列化的)tx 数据提交给提供商,提供商将其广播到网络。
web3.eth.sendSignedTransaction(signedTx.rawTransaction)
.on('receipt', console.log);