Go-Ethereum
使用原始交易執行合約功能
我正在嘗試建構一個輕量級介面,它可以廣播原始交易並執行乙太坊合約的功能。雖然我能夠建構一個簡單的交易,但關於如何執行合約功能的指導很少。
我有以下程式碼來建構交易:
function createRawTransacton(){ var privateKey = new Buffer('d3780dd620ef80b3918dfcdb9105f76147fc55a3775ff71805ccec09a89063ed', 'hex') var rawTx = { nonce: 'CX350', gasPrice: 'C350', gasLimit: '0x09184e72a000', to: '0xc5622be5861b7200cbace14e28b98c4ab77bd9b4', value: 'CX350', data: '0x19dacbf83c5de6658e14cbf7bcae5c15eca2eedecf1c66fbca928e4d351bea0f' } var tx = new Tx(rawTx) tx.sign(privateKey) var serializedTx = tx.serialize() console.log(serializedTx.toString('hex')) broadCastTx(serializedTx.toString('hex')) }
該
to
欄位需要是您要呼叫的合約的地址。然後,在data
欄位中,根據ABI對正在呼叫的函式及其參數進行編碼。使用 web3.js 會更容易,例如它的Contract Methods,而不是原始交易(這就是為什麼對原始材料有抽象的原因)。
https://medium.com/@607ba26a48be/8d6cc8174c5d
檢查此連結。我有用 golang 編寫的程式碼來創建離線交易