1

When i try to deploy any contract using quorum local node in remix browser with solidity version higher than 0.5.0, the contract gets deployed but any transaction to interact (fetch / update) the contract shows an error.

Quorum Node:

Version: quorum-v2.4.0

Solidity:

Solc version: 0.6.1 / 0.5.16

Contract:

pragma solidity ^0.6.1;

contract Sample{

    struct Structure{
        uint a;
        string b;
    }

    mapping(string => Structure) public s;

    function add(uint a, string memory b)public {
        s[b] = Structure(a,b);
    }
}

Can anybody please tell me how to solve this issue.

8
  • Gas estimation failed Gas estimation errored with the following message (see below). The transaction execution will likely fail. Do you want to force sending? gas required exceeds allowance or always failing transaction Jan 4, 2020 at 9:51
  • @SamuelDare The same code is working fine with Javascript VM and Injected Web3 Jan 4, 2020 at 9:52
  • Try chainging the EVM version target, recent version of solc require new opcodes from constantinople/peterburg. Try byzantium for example in the compiler settings.
    – Ismael
    Jan 4, 2020 at 18:13
  • Probably related, whats the genesis config?
    – fixanoid
    Jan 5, 2020 at 3:27
  • 1
    @GeethapriyaGH In remix.ethereum.org go to "SOLIDITY COMPILER" tab, then from "EVM Version" select a different version "byzantium" for example.
    – Ismael
    Jan 6, 2020 at 15:30

1 Answer 1

0

So as of Quorum v2.4.0, the underlying geth is still v1.8.x. That means you are a bit limited to the hardforks and EVM changes you may use when using remix and other solidity compilers.

First, you need to ensure that you have all of the supported hard-forks enabled in Quorum genesis, a quick reference is our own quourm-examples project: https://github.com/jpmorganchase/quorum-examples/blob/master/examples/7nodes/genesis.json#L20

And then you should stick to the solc 0.5.x until we upgrade to geth 1.9.x. This is in progress and release should be out in a few weeks.

Your Answer

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

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