Ich bin neu bei Javascript, also ertrage es mit mir. Ich habe web3.js erfolgreich in einer HTML-Datei zum Laufen gebracht, wobei getBalances so funktioniert, wie es sollte. (Ich möchte Node.js vorerst nicht verwenden)
Aber jetzt stecke ich beim Senden einer Rohtransaktion fest. Die Konsole sagt mir, dass ein Transaktions-Hash erstellt wird, aber wenn ich auf Etherscan suche, wird die Transaktion nicht angezeigt. Auch wird keine ETH zwischen der 'From'- und der 'To'-Adresse übertragen.
Mein Code in der HTML-Datei:
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)
}
})
Der serialisierte tx:f866808082753094e1677d96bb82668bb188ec71498db5c0c0c4830e87b1a2bc2ec50000801ba0754d70a1dcbca6a7486fafeed8e63c8738b401af562697c2d97c990c4ac3d543a02a0664aeaa900c4d1d8ad94c3c69b76bcaa5f5c3e8307c4d63c86d60b70f4d7b
Der Transaktions-Hash, den web3.js zurückgibt:0x9b89dad10e235d9bbd4b48f6a9768b557861281645b6d0702115e4a7141b0f41
FYI Ich verwende die myetherwallet API ( https://api.myetherapi.com/eth )
Danke an @Ismael für den Hinweis auf die richtige Richtung.
Sowohl der Nonce als auch der GasPrice fehlten.
Für einmal:
var nonce = web3.eth.getTransactionCount(0xaddress);
Für gasPreis:
var gasPriceInWei = web3.toWei('10', 'gwei');
Sowohl Nonce als auch GasPrice müssen in Hex umgewandelt werden.
Ismael
var nonce = web3.eth.getTransactionCount(0xaddress);
David T