Sendrawtransaction
幫助signTransaction
我需要幫助 com 簽署交易的許多參數。
什麼是“隨機數”?
我如何計算氣體價值?
我如何計算gasPrice?
什麼是數據欄位?
鏈 ID 1 是主網?
我將使用infura。
$transaction = new Transaction([ 'nonce' => '0x'.$hexNonce, 'gas' => '0x'.$gas, 'gasPrice' => '0x'.$gasPrice, 'value' => '0x'.$hexValue, 'chainId' => 1, 'data' => '0x0' ]);
{ gas: web3.utils.toHex(3000000), gasPrice: web3.utils.toHex(await web3.eth.getGasPrice()), data: contractData, nonce: web3.utils.toHex(await web3.eth.getTransactionCount(address)), to: contractAddress, chainId: chainId, from: address }
gas 使用的氣體的最大限制,如果使用的消耗高於此限制,則恢復交易
gasPrice每個gas 單位的價格,例如(300000 * gasPrice),設置更高的交易可以更快地探勘。
data要在事務中發送的數據。可以是函式呼叫或合約初始化。可以通過使用
getData()
if using`web3js@0.20或
encodeAbi()`web3js1.0 獲取contract.deploy({data:bytecode}).encodeABI(); //create new contract contract.methods.setModule(args[0], args[1]).encodeABI(); //method calling
來自該地址的交易數量 + 1
要發送給誰,可以是合約地址、錢包地址,或者如果創建新合約則留空
如果鏈支持(EIP155),則網路的chainID ID 例如乙太坊主網 = 1,乙太坊 rinkeby = 4,乙太坊 = 2
from交易的發送者
1.) Nonce 基本上是從該帳戶發送的交易量。您不必手動設置它,您可以使用web3.eth.getTransactionCount()
2.) 氣體是用於該交易的氣體量。所以你可以根據你想要做的事情來設置它,如果你正在呼叫一個執行大量計算的合約函式,你可以將 gas 限制設置得更高一點。如果您不確定估算值,您可以使用web3.eth.estimateGas()
3.) gasPrice 是該交易中以 wei 為單位的 gas 價格。你可以隨意設置它,但如果你不這樣做,它預設為最後幾個區塊使用的中值氣體。
4.) 數據是要發送到合約函式呼叫的數據,或者在合約創建的情況下,它是合約的字節碼或初始化程式碼
5.) 鏈ID,可以參考這個文章