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

Arbitrum Nitro issues using Besu as L1 provider #4458

Closed
feld opened this issue Sep 29, 2022 · 7 comments
Closed

Arbitrum Nitro issues using Besu as L1 provider #4458

feld opened this issue Sep 29, 2022 · 7 comments
Labels

Comments

@feld
Copy link

feld commented Sep 29, 2022

Besu 22.7.3

Arbitrum is sending queries like:

{"jsonrpc":"2.0","id":49045,"method":"eth_getLogs","params":[{"address":["0x4dbd4fc535ac27206064b68ffcf827b0a60bab3f"],"fromBlock":"0xee6c73","toBlock":"0xee6c73","topics":[["0xff64905f73a67fb594e0f940a8075a860db489ad991e032f48c81123eb52d60b","0xab532385be8f1005a4b6ba8fa20a2245facb346134ac739fe9a5198dc1580b9c"],["0x000000000000000000000000000000000000000000000000000000000000e9e4"]]}]}

The response is somehow not correct. Arbitrum logs errors like:

WARN [09-29|14:30:57.591] error reading inbox                      err="unexpected delayed sequence number"

The problem does not exist if you use a different L1 provider like Geth

@feld
Copy link
Author

feld commented Sep 29, 2022

The response I get from Besu for the get_ethLogs is:

{
  "jsonrpc": "2.0",
  "id": 49045,
  "result": [
    {
      "logIndex": "0x1",
      "removed": false,
      "blockNumber": "0xee6c73",
      "blockHash": "0x118fab640eedc9c77b37de8b2a3fe936f997cc7962a4e6a4f112b8db3713c812",
      "transactionHash": "0x672082e655f9d47c4106b652b82314800bb5023a1661b0b67a7712fe64c5c308",
      "transactionIndex": "0x82",
      "address": "0x4dbd4fc535ac27206064b68ffcf827b0a60bab3f",
      "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000346ac7f09fa05f40e229064fa20ef3d27c4c96159100000000000000000000000000000000000000000000000006f05b59d3b20000000000000000000000000000",
      "topics": [
        "0xff64905f73a67fb594e0f940a8075a860db489ad991e032f48c81123eb52d60b",
        "0x000000000000000000000000000000000000000000000000000000000000e9e4"
      ]
    }
  ]
}

The response I get from Geth is:

{
  "jsonrpc": "2.0",
  "id": 49045,
  "result": [
    {
      "address": "0x4dbd4fc535ac27206064b68ffcf827b0a60bab3f",
      "topics": [
        "0xff64905f73a67fb594e0f940a8075a860db489ad991e032f48c81123eb52d60b",
        "0x000000000000000000000000000000000000000000000000000000000000e9e4"
      ],
      "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000346ac7f09fa05f40e229064fa20ef3d27c4c96159100000000000000000000000000000000000000000000000006f05b59d3b20000000000000000000000000000",
      "blockNumber": "0xee6c73",
      "transactionHash": "0x672082e655f9d47c4106b652b82314800bb5023a1661b0b67a7712fe64c5c308",
      "transactionIndex": "0x82",
      "blockHash": "0x118fab640eedc9c77b37de8b2a3fe936f997cc7962a4e6a4f112b8db3713c812",
      "logIndex": "0x15e",
      "removed": false
    }
  ]
}

Response from my hosted Chainstack node:

{
  "jsonrpc": "2.0",
  "id": 49045,
  "result": [
    {
      "address": "0x4dbd4fc535ac27206064b68ffcf827b0a60bab3f",
      "topics": [
        "0xff64905f73a67fb594e0f940a8075a860db489ad991e032f48c81123eb52d60b",
        "0x000000000000000000000000000000000000000000000000000000000000e9e4"
      ],
      "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000346ac7f09fa05f40e229064fa20ef3d27c4c96159100000000000000000000000000000000000000000000000006f05b59d3b20000000000000000000000000000",
      "blockNumber": "0xee6c73",
      "transactionHash": "0x672082e655f9d47c4106b652b82314800bb5023a1661b0b67a7712fe64c5c308",
      "transactionIndex": "0x82",
      "blockHash": "0x118fab640eedc9c77b37de8b2a3fe936f997cc7962a4e6a4f112b8db3713c812",
      "logIndex": "0x15e",
      "removed": false
    }
  ]
}

It looks to me like only logIndex is different here but I don't know if that's important. I do not have any knowledge of how Arbitrum works internally.

@non-fungible-nelson
Copy link
Contributor

Thanks for this - we are tackling a few RPC defects right now, we will be in touch about this! Please reach out to me on Discord if you have any other questions. same user name in Hyperledger server.

@shemnon
Copy link
Contributor

shemnon commented Oct 3, 2022

Is this a dup of #4114 ? (looks to have a PR at #4355 )

@macfarla
Copy link
Contributor

macfarla commented Oct 5, 2022

@samsondav @feld - PR #4355 has been merged in and will be in the next release 22.10.0-RC1 - planned for tomorrow

@macfarla macfarla closed this as completed Oct 5, 2022
@non-fungible-nelson
Copy link
Contributor

This is also available in 22.7.5 today. But splitting hairs.

@feld
Copy link
Author

feld commented Oct 6, 2022

Confirming this fixed the issue with Arbitrum. I don't see any problems in the Nitro logs when using Besu 22.7.5

@non-fungible-nelson
Copy link
Contributor

@feld thank you! Please feel free to message me on Discord (same user) if you have any more requirements or priorities we can work out around Nitro.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants