Ejecutar función de contrato con transacción sin procesar

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'))
}
Va en contra de la política de la red de intercambio de pila publicar preguntas cruzadas en múltiples subsitios. Por favor, para futuras preguntas, considere si desea publicarlas aquí o en stackoverflow, pero no las publique en ambos sitios.
Como obtener clave privada. o puede haber cualquier hash de 32 bits como clave privada.

Respuestas (2)

El tocampo debe ser la dirección del contrato que desea invocar. Luego, en el datacampo, 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).

Hmm, me doy cuenta de que web3 es más fácil, pero necesito que sea liviano y que no dependa de un nodo. Web3 requiere un nodo completo y eso no funcionará con mi hardware, por lo tanto, la transacción sin procesar
@Jim No necesita un nodo, solo instale la extensión Metamask Chrome o ejecute geth en modo ligero (si necesita la red principal). Para el desarrollo, puede usar Truffle y tener su nodo local sin muchos requisitos de hardware.

https://medium.com/@607ba26a48be/8d6cc8174c5d

Consulta este enlace. Tengo código escrito en golang para crear transacciones fuera de línea

Hola. ¿Puedes resumir lo que hiciste en tu respuesta? Se desaconsejan las respuestas de solo enlace porque el enlace podría dejar de funcionar o perderse en cualquier momento.