Web3js
Web3 - 將 nonce 分配給智能合約交易
我有一個智能合約。我想執行它的狀態修改功能之一。
這是程式碼:
const result = await smartContractObject.methods .addSomething(_valueToAdd) .send( { gas: '5000000', from:masterAccount });
如何手動為此交易分配隨機數?
我需要創建一個 raw_tx 嗎?
我不確定用
send
方法修改隨機數。您可以改用經典web3.eth.sendTransaction
方法(https://web3js.readthedocs.io/en/v1.2.1/web3-eth.html#sendtransaction)。但是,您需要data
為此交易提供欄位。const nonceThatIWant = x; const txObject = smartContractObject.methods.addSomething(_valueToAdd); const txData = txObject.encodeABI(); await web3.eth.sendTransaction({ from:masterAccount, nonce: nonceThatIWant, data: txData, to: smartContractObject._address, //or smartContractObject.address depending on web3 version, //rest parameters like gas, value, gasPrice, etc. });