How to solve “insufficient funds for gas * price + value” error?

0 votes

I am using web3j for blockchain and I have the following code:

// create new account 
Admin admin = Admin.build(new HttpService());
NewAccountIdentifier newAccount = admin.personalNewAccount("PASSWORD").send();


// get current created account
Web3j web3 = Web3.build(new HttpService());
EthAccounts accounts = web3.ethAccounts().send();
String lastAccount = Iterables.getLast(accounts.getAccounts());
// get creadentials for the first account having some ether
String firstAccount = web3.ethAccounts().send().getAccounts().get(0);
Credentials credentials = Credentials.create(firstAccount);


// get current balance for first account
EthGetBalance balance = admin.ethGetBalance(firstAccount, DefaultBlockParameterName.LATEST).send();
BigDecimal balanceVaue = Convert.fromWei(balance.getBalance().toString(), Convert.Unit.ETHER);


// create transaction to give the new created account some ether from the first one
// log some stuff
System.out.println("Account: " + firstAccount);
System.out.println("Account balance: " + balanceVaue);
System.out.println("Gas Price admin.ethGasPrice() in Ether: " + Convert.fromWei(gasPrice.toString(), Convert.Unit.ETHER));
System.out.println("Transfer Gas Limit in Ether: " + Convert.fromWei(Transfer.GAS_LIMIT.toString(), Convert.Unit.ETHER));
System.out.println("Transfer Gas Price in Ether: " + Convert.fromWei(Transfer.GAS_PRICE.toString(), Convert.Unit.ETHER));


TransactionReceipt transactionReceipt = Transfer.sendFunds(web3, credentials, lastAccount, BigDecimal.valueOf(10.0), Convert.Unit.ETHER).send();
String transactionHash = transactionReceipt.getTransactionHash();

Genesis block is as follows:

{
  "config": {
      "chainId": 9999,
      "homesteadBlock": 0,
      "eip155Block": 0,
      "eip158Block": 0,
      "byzantiumBlock": 0
   },
   "difficulty": "400",
   "gasLimit": "2100000",
   "alloc": {
      "0x9b6301bf2cfe11066dbd641f91a2b82e0783130e": { 
          "balance": "100000000000000000000000" 
      }
   }
}

How to solve this?

Aug 1, 2018 in Blockchain by digger
• 27,620 points
237 views

1 answer to this question.

0 votes

Change the following line

Credentials credentials = Credentials.create(firstAccount);

To the following line

Credentials credentials = Credentials.create("<PRIVATE_KEY_HERE>");

The error was because you were passing a wrong object. You had to pass the private key but you were passing the address. You should have no issues after making the above mentioned changes.

answered Aug 1, 2018 by slayer
• 29,050 points

Related Questions In Blockchain

0 votes
1 answer

Web3j Transfer.sendFunds() returns Error “insufficient funds for gas * price + value”

DISCLAIMER. This may not necessarily be an answer to your ...READ MORE

answered Jun 16, 2018 in Blockchain by charlie_brown
• 7,710 points
304 views
0 votes
1 answer
0 votes
1 answer

Truffle tests not running after truffle init

This was a bug. They've fixed it. ...READ MORE

answered Sep 11, 2018 in Blockchain by Christine
• 15,790 points
105 views
+1 vote
1 answer
+1 vote
3 answers

Removing double quotes from a string from JSON response in PHP

Just remove the json_encode call, and it should work: $resp ...READ MORE

answered Sep 12, 2018 in Blockchain by digger
• 27,620 points
2,101 views
0 votes
1 answer
0 votes
1 answer

How to solve Runtime error when querying Hyperledger?

OCI is open container initiative.. The error ...READ MORE

answered Jul 9, 2018 in Blockchain by slayer
• 29,050 points
210 views