Estoy tratando de construir una interfaz ligera que pueda transmitir una transacción sin procesar y ejecutar la función de un contrato Ethereum. Si bien puedo crear una transacción simple, hay poca orientación sobre cómo ejecutar la función de un contrato.
Tengo el siguiente código para construir la transacción:
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'))
}
El to
campo debe ser la dirección del contrato que desea invocar. Luego, en el data
campo, codifica la función que está invocando y sus argumentos, de acuerdo con el ABI . Será más fácil usar web3.js, como sus métodos de contrato , en lugar de una transacción en bruto (es por eso que hay abstracciones sobre el material en bruto).
https://medium.com/@607ba26a48be/8d6cc8174c5d
Consulta este enlace. Tengo código escrito en golang para crear transacciones fuera de línea
q9f
Himanshu sharma