Я пытаюсь создать легкий интерфейс, который может транслировать необработанную транзакцию и выполнять функцию контракта 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, такие как методы контракта , вместо необработанной транзакции (поэтому существуют абстракции над необработанным материалом).
https://medium.com/@607ba26a48be/8d6cc8174c5d
Проверьте эту ссылку. У меня есть код, написанный на golang для создания автономных транзакций.
q9f
Химаншу шарма