Web3js
sendRawTransaction 未出現/未送出到網路
我是 Javascript 的新手,所以請耐心等待。我已經成功地讓 web3.js 在 HTML 文件中工作,並且 getBalances 可以正常工作。(我暫時不想使用 Node.js)
但是現在我堅持發送原始交易。控制台告訴我創建了一個事務雜湊,但是當我在 Etherscan 上搜尋時,事務沒有出現。在“發件人”和“收件人”地址之間也沒有 ETH 轉移。
我在 HTML 文件中的程式碼:
const gasLimitInHex = web3.toHex(30000) const valueInWei = web3.toWei('0.05', 'ether') const valueWeiInHex = web3.toHex(valueInWei) const rawTx = { gasLimit: gasLimitInHex, to: receiveEthAddress, value: valueWeiInHex } const tx = new EthJS.Tx(rawTx) tx.sign(privateKey) var serializedTx = tx.serialize() console.log(serializedTx.toString('hex')) web3.eth.sendRawTransaction('0x' + serializedTx.toString('hex'), function(err, hash) { if (!err) { console.log(hash) } else { console.log(err) } })
序列化的 tx:
f866808082753094e1677d96bb82668bb188ec71498db5c0c0c4830e87b1a2bc2ec50000801ba0754d70a1dcbca6a7486fafeed8e63c8738b401af562697c2d97c990c4ac3d543a02a0664aeaa900c4d1d8ad94c3c69b76bcaa5f5c3e8307c4d63c86d60b70f4d7b
web3.js 返回的事務雜湊:
0x9b89dad10e235d9bbd4b48f6a9768b557861281645b6d0702115e4a7141b0f41
僅供參考,我正在使用 myetherwallet API ( https://api.myetherapi.com/eth )
感謝@Ismael 為我指明了正確的方向。
nonce 和 gasPrice 都失去了。
對於隨機數:
var nonce = web3.eth.getTransactionCount(0xaddress);
對於gasPrice:
var gasPriceInWei = web3.toWei('10', 'gwei');
nonce 和 gasPrice 都需要轉換為十六進制。