Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

QBFT validator smart contract method does not work with london fork with Fees. #5249

Closed
D3athGr1p opened this issue Mar 21, 2023 · 5 comments · Fixed by #5277
Closed

QBFT validator smart contract method does not work with london fork with Fees. #5249

D3athGr1p opened this issue Mar 21, 2023 · 5 comments · Fixed by #5277
Assignees
Labels
bug Something isn't working non mainnet (private networks) not related to mainnet features - covers privacy, permissioning, IBFT2, QBFT TeamGroot GH issues worked on by Groot Team

Comments

@D3athGr1p
Copy link

D3athGr1p commented Mar 21, 2023

I want to use EIP-1559 fee stucture but when i try using london fork it does not work with validator smart contract. it works fine with blockheader selection method. i tried both way using londonBlock: 0 and

"transitions": {
      "qbft": [
        {
          "block": 25,
          "validatorselectionmode": "contract",
          "validatorcontractaddress": "0x42699A7612A82f1d9C36148af9C77354759b210b"
        }
      ]
    }

but i'm getting this error
image

as for genesis file :

{
  "config": {
    "chainId": 878145,
    "londonBlock": 0,
    "berlinBlock": 0,
    "qbft": {
      "blockperiodseconds": 2,
      "epochlength": 30000,
      "requesttimeoutseconds": 4,
      "blockreward": "1500000000000000000"
    },
    "transitions": {
      "qbft": [
        {
          "block": 50,
          "validatorselectionmode": "contract",
          "validatorcontractaddress": "0xb9A219631Aed55eBC3D998f17C3840B7eC39C0cc"
        }
      ]
    }
  },
  "nonce": "0x0",
  "timestamp": "0x58ee40ba",
  "gasLimit": "0x47b760",
  "difficulty": "0x1",
  "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
  "coinbase": "0x0000000000000000000000000000000000000000",
  "alloc": {
    "f17f52151EbEF6C7334FAD080c5704D77216b732" : {
      "balance" : "0x446c3b15f9926687d2c40534fdb56400"
    }
  },
  "extraData": "0xf87aa00000000000000000000000000000000000000000000000000000000000000000f8549447349b0e16718f7439261616c48fd1b92a9d64d7945c2ec9937230a20ab9a6008bc32952d0551c14fc94903e1eedcb60cc27a386ee2879274b2a445bd72a9457a71c05d16403165c21ce27914573ef5ffad819c080c0"
}

I also tried londonBlock at 55 and my "validatorselectionmode": "contract" at block 50 but still got same issue.

as for validator smart contract I'm using ConsenSys and this works fine without london block

@siladu siladu added bug Something isn't working non mainnet (private networks) not related to mainnet features - covers privacy, permissioning, IBFT2, QBFT labels Mar 21, 2023
@notatestuser
Copy link

The solution is here: #3883 (comment)

Or add "zeroBaseFee": true to the config section.

@D3athGr1p
Copy link
Author

D3athGr1p commented Mar 21, 2023

Still this is not working for me i already tried this solution

The solution is here: #3883 (comment)

Or add "zeroBaseFee": true to the config section.

@siladu siladu added the TeamGroot GH issues worked on by Groot Team label Mar 23, 2023
@siladu siladu self-assigned this Mar 28, 2023
@siladu
Copy link
Contributor

siladu commented Mar 28, 2023

@D3athGr1p - I have recreated your issue. Enabling DEBUG reveals what is likely the actual problem:

2023-03-28 14:23:53.040+10:00 | BftProcessorExecutor-QBFT-0 | DEBUG | MainnetTransactionProcessor | Invalid transaction: gasPrice is less than the current BaseFee

Using validator contract mode results in an internal "transaction"...it's actually a simulated transaction, similar to eth_call which shouldn't charge for the gas cost. Seems the bug is related to requiring a non-zero gas price regardless. Looking into it now.

@siladu
Copy link
Contributor

siladu commented Mar 31, 2023

@D3athGr1p This fix is on the besu main branch now, but unreleased. If you'd like to test it out before the next release you can either build from source: https://wiki.hyperledger.org/display/BESU/Building+from+source
Or use the develop docker tag: docker pull hyperledger/besu:develop

@D3athGr1p
Copy link
Author

D3athGr1p commented Mar 31, 2023

@D3athGr1p This fix is on the besu main branch now, but unreleased. If you'd like to test it out before the next release you can either build from source: https://wiki.hyperledger.org/display/BESU/Building+from+source Or use the develop docker tag: docker pull hyperledger/besu:develop

Thanks a lot I'll check it out

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working non mainnet (private networks) not related to mainnet features - covers privacy, permissioning, IBFT2, QBFT TeamGroot GH issues worked on by Groot Team
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants