Can't send transaction -- "Exceeds block gas limit" or "Intrinsic gas too low"

by Dan Sandberg   Last Updated January 20, 2018 17:28 PM

I'm trying to send Ether using geth 1.3.5, like this:

eth.sendTransaction({from:eth.accounts[0], to:'0x[ADDRESS_HERE]', value: web3.toWei(5, "ether"), gas:21000});

And I'm getting "Exceeds block gas limit"

When I try:

with gas=5000 I get "Intrinsic gas too low"

Executing eth.getBlock("latest").gasLimit yields 5000.

Any ideas how to execute a transaction? I synced the blockchain using --fast. Any help appreciated!

Tags : go-ethereum


Answers 3


21,000 gas is the minimum for sending a transaction. If you are sending ether to a contract which has a fallback function then that function will require extra gas to run. Since unspent gas is refunded automatically, change your code to something like the following with a higher gas value.

eth.sendTransaction({from:eth.accounts[0], to:'0x[ADDRESS_HERE]', value: web3.toWei(5, "ether"), gas:100000});

Piper Merriam
Piper Merriam
March 05, 2016 04:58 AM

sendTransaction requires min gas = 21000 + [some extra ether as mentioned by Piper]

Also make sure the genesis.json does not limit the gas limit. In my case it was 0x1388 (5000 in Decimal). I changed it to 0xC350 (50000 in decimal) and it worked!!

Solution:

  1. check current block gas limit by running - eth.getBlock("latest"). If you supply more gas than this value, you will face 'Exceeds block gas limit' error

  2. Then check gas value in sendTransaction(). It should be atleast 21000. If it isn't, you will get 'intrinsic value too low'

Ankush
Ankush
June 20, 2016 06:18 AM

err:  Error: Returned error: exceeds block gas limit

This is also returned when running (trying to run) a full node and it is not in sync with the network yet.

bitsanity
bitsanity
January 20, 2018 17:24 PM

Related Questions



External functions calling other functions

Updated July 11, 2018 03:28 AM


Forced data location

Updated July 09, 2018 23:28 PM