Im having issues when I try to implement a back end that generate smart-contract transaction calls using web3j. But I'm a lit confused with the gas limit concept. I have defined inside the genesis file a gas limit value of:

"gasLimit": "0xE0000000" --> 3758096384

And inside the web3j gasProvider a value of:


At the time of making the transactions there comes a time which I cannot perform operations. And I get the following exception:

java.lang.RuntimeException: java.lang.RuntimeException: Error processing transaction request: exceeds block gas limit
    at org.web3j.tx.Contract.deploy(Contract.java:391)
    at org.web3j.tx.Contract.lambda$deployRemoteCall$10(Contract.java:496)
    at org.web3j.protocol.core.RemoteCall.send(RemoteCall.java:30)

This exception appear when I deploy new SC and also when I do SC function calls. In one way or another, I cannot perform any type of operation and I have to restart the blockchain.

  • The generated exception who gives me? The blockchain or web3j for having defined a value in the GasProvider lower than that of the genesis?

  • But the gas limit defined in the genesis is not supposed to be only for the first block?

  • Why I cant make transactions and how can I manage this situation in a production environment and recover the data and the great functionallity?

  • How can I know a great gasLimit value for production?


QUORUM_CONSENSUS: default to istanbul

QUORUM_DOCKER_IMAGE: default to quorumengineering/quorum:2.2.3

QUORUM_TX_MANAGER_DOCKER_IMAGE: default to quorumengineering/tessera:0.9

  • What nodes are you running under the hood? If its Quorum what versions? Sometimes its better to add some of the miner options into the node your app will be talking to, please see: github.com/ethereum/go-ethereum/wiki/Command-Line-Options
    – fixanoid
    Commented Nov 4, 2019 at 15:06
  • Im runing the 7 nodes quorum example. With docker. What cain of options I have to add to miners? Commented Nov 5, 2019 at 8:30

1 Answer 1


So, my recommendation is to update to the latest version: v2.3.0. Depending how the 2.2.3 was configured, minting node may ignore globally set block size, to ensure that it doesnt, use --miner.gastarget XXX and --miner.gaslimit XXX-- set these sufficiently high for your use case.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.