I am trying to sign and send a transaction as follows:
let signedTx = await web3.eth.accounts.signTransaction(options, PRIVATE_KEY); let txReceipt = await web3.eth.sendSignedTransaction(signedTx.rawTransaction); ...
PRIVATE_KEY variable is a 40-character long hexadecimal string, without an
options variable is an object containing
My code completes successfully on Ganache, but when I run it on a fully-synced Parity node connected to ropsten, I get the following error:
Insufficient funds. The account you tried to send transaction from does not have enough funds. Required 8000000000000000 and got: 0.
My account definitely has more than 0 ether on ropsten (see https://ropsten.etherscan.io/address/0x1c492da58f6396be2880576cc513c5b108450429), and I can even verify it locally (via web3.js):
let balance = await this.web3.eth.getBalance("0x1c492da58f6396be2880576cc513c5b108450429"); console.log(balance);
So here is the thing.
I was able to resolve this problem by adding
0x at the beginning of the
Hence my question - is it possible that
web3.eth.accounts.signTransaction runs differently on Ganache and on Parity?