Light-Clients
發送原始交易不成功
我正在為專用網路開發一個輕錢包。我使用 ethereumjs-accounts 在本地儲存帳戶,使用 ethereum-tx 簽署交易。我已經部署了自定義令牌契約。這是我的
txParams
對象:nonce: nonce, //transaction count gasPrice: "0x0", //private network do not need gas gas: "0x0", from: account, //sender account to: contractParams.address, value: "0x0", data: this.contractInstance.sendFunds.getData( '0x07a204163f78bf9293c996f8c6d98a058a324b2d', '0xd9f0443219296744c91929fc0818b3e42d90b2eb', 2, '' ) //calling functions to send tokens from 1 account to another
然後我簽署交易並將其發送到鏈:
let tx = new EthereumTx(txParams); tx.sign(privateKey); let serializedTx = '0x' + tx.serialize().toString('hex'); this.web3.eth.sendRawTransaction(serializedTx, (err, hash) => { if(err) { console.info(err); }else{ console.log('Transaction hash: ', hash); } });
發送交易後,我收到了 tx 雜湊,但沒有任何反應。我可以在發送後 30-40 秒內通過雜湊獲取交易,然後交易消失,如果我在 40 秒後嘗試獲取它 - 我得到
null
.任何想法可能導致此問題以及如何調試它?
nonce
和都使用前導前綴contractParams.address
進行十六進制編碼?0x
ps)如果長度是奇數,最好用前導填充所有十六進制編碼值
0
。以確保長度是偶數。(即:0x1
應輸入為0x01
等)pps)
txParams.from
可以刪除..它沒有意義