Web3.js: insufficient funds for gas * price + value "1.0.0-beta.34"

Created on 20 Apr 2018  路  5Comments  路  Source: ChainSafe/web3.js

I'm getting this error but I'm not sure why as I have enough ether in my account:

Error: Returned error: insufficient funds for gas * price + value

Please could someone tell me what is wrong with my code?

<script type="text/javascript">
var web3 = new Web3(new Web3.providers.HttpProvider('http://58.242.352.4:8545'));
console.log('web3 version:'+ web3.version);//1.0.0-beta.34
var contractJson = [{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"fundsWallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"version","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"unitsOneEthCanBuy","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalEthInWei","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"}];


var contractAddress = '0xc61BEC3497e549b9fA58AE79a5a573E064fe3311';
var ownerAddress = "0x429c4474c5914a28063e2c37ca23bb4af9ef0728";
 var userAddress = "0x68d95bc1142c0cb155d250ad3c83e7be04896a04"; //3 Ether 
var transferAmount = 1;

var contract = new web3.eth.Contract(contractJson, contractAddress);
var transfer = contract.methods.transfer(userAddress, transferAmount);
var encodedABI = transfer.encodeABI();
var privateKey = '4dxxxx.................................';

var gasPriceGwei = web3.utils.toHex(3 * 1e9);
var gasLimit =  web3.utils.toHex(3000000);
var value = "0x0";
var chainId = 3;

console.log("2nd method transactions parameters");
console.log("gasPriceGwei:"+gasPriceGwei);
console.log("gasLimit:"+gasLimit);
console.log("value:"+value);
console.log("chainId:"+chainId);

var transactionObject = {
    from: ownerAddress,
    //nonce: "0x" + count.toString(16),
    to: contractAddress,
    gasPrice: gasPriceGwei,
    gasLimit: gasLimit,
    data: encodedABI,
    value: value,
    chainId: chainId
  }; 


$(function(){

     web3.eth.accounts.signTransaction(transactionObject, privateKey, function(err, signed){
        console.log("signTransaction err: "+err);
        console.log("signTransaction signed: "+signed.rawTransaction);
        web3.eth.sendSignedTransaction(signed.rawTransaction, function(err, res){
            console.log("sendSignedTransaction  err: "+err);
            console.log("sendSignedTransaction  res: "+res);
        });
    });

   web3.eth.net.getId(function(err, res){
        console.log("Net: "+res); // 3
    });

    web3.eth.net.getNetworkType(function(err, res){
            console.log("getNetworkType: "+res); //ropsten
    });

});

</script>

Most helpful comment

Append "0x" start of your private key will solve this issue:
var privateKey = '0x4dxxxx.................................';

All 5 comments

Any idea dear developers?

same error for me, still have no idea y

I was getting this same error. Changing the private key to start with "0x" fixed it for me.

+1

Append "0x" start of your private key will solve this issue:
var privateKey = '0x4dxxxx.................................';

Was this page helpful?
0 / 5 - 0 ratings