Go-Ethereum

使用原始交易執行合約功能

  • December 13, 2017

我正在嘗試建構一個輕量級介面,它可以廣播原始交易並執行乙太坊合約的功能。雖然我能夠建構一個簡單的交易,但關於如何執行合約功能的指導很少。

我有以下程式碼來建構交易:

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 編寫的程式碼來創建離線交易

引用自:https://ethereum.stackexchange.com/questions/6893