Soy nuevo en Javascript, así que tengan paciencia conmigo. Conseguí que web3.js funcionara con éxito en un archivo HTML, con getBalances funcionando como debería. (No quiero usar Node.js por ahora)
Sin embargo, ahora estoy atascado enviando una transacción sin procesar. La consola me dice que se crea un hash de transacción, pero cuando busco en Etherscan no aparece la transacción. Además, no se transfiere ETH entre la dirección 'desde' y 'a'.
Mi código en el archivo HTML:
const gasLimitInHex = web3.toHex(30000)
const valueInWei = web3.toWei('0.05', 'ether')
const valueWeiInHex = web3.toHex(valueInWei)
const rawTx = {
gasLimit: gasLimitInHex,
to: receiveEthAddress,
value: valueWeiInHex
}
const tx = new EthJS.Tx(rawTx)
tx.sign(privateKey)
var serializedTx = tx.serialize()
console.log(serializedTx.toString('hex'))
web3.eth.sendRawTransaction('0x' + serializedTx.toString('hex'), function(err, hash) {
if (!err) {
console.log(hash)
} else {
console.log(err)
}
})
El tx serializado:f866808082753094e1677d96bb82668bb188ec71498db5c0c0c4830e87b1a2bc2ec50000801ba0754d70a1dcbca6a7486fafeed8e63c8738b401af562697c2d97c990c4ac3d543a02a0664aeaa900c4d1d8ad94c3c69b76bcaa5f5c3e8307c4d63c86d60b70f4d7b
El hash de transacción que devuelve web3.js:0x9b89dad10e235d9bbd4b48f6a9768b557861281645b6d0702115e4a7141b0f41
Para su información, estoy usando la API de myetherwallet ( https://api.myetherapi.com/eth )
Gracias a @Ismael por señalarme en la dirección correcta.
Faltaban tanto el nonce como el gasPrice.
Por ahora:
var nonce = web3.eth.getTransactionCount(0xaddress);
Para gasPrecio:
var gasPriceInWei = web3.toWei('10', 'gwei');
Tanto nonce como gasPrice deben convertirse a hexadecimal.
ismael
var nonce = web3.eth.getTransactionCount(0xaddress);
david t