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

Besu needs --rpc-http-enabled flag #5

Closed
diglos opened this issue Sep 4, 2022 · 5 comments
Closed

Besu needs --rpc-http-enabled flag #5

diglos opened this issue Sep 4, 2022 · 5 comments

Comments

@diglos
Copy link

diglos commented Sep 4, 2022

Hi,

We are running a Besu+Teku node and Teku doesn't communicate with Besu unless --rpc-http-enabled flag is added to the configuration (it notices that EL is online but they cannot talk to each other).

@SomerEsat
Copy link
Owner

Thanks for reaching out.

The --rpc-http-enabled flag should only be required if you are running a version of Besu with no TDD set (see: hyperledger/besu#4190). However, given the TDD has been set in the latest version (see: hyperledger/besu#4260), it no longer is required.

Make sure you're running the latest version of Besu (22.7.1) and Teku (22.9.0) and using the authenticated endpoints to communicate (port 8551 with a config entry to the JWT in each client) and you shouldn't need that flag.

The combination has been explicitly tested on mainnet, as are all combinations/flags in my guides.

@diglos
Copy link
Author

diglos commented Sep 4, 2022

Hey :-), thanks for the quick response.

Let's see. Versions are correct:

teku --version
teku/v22.9.0/linux-aarch_64/-privatebuild-openjdk64bitservervm-java-11
besu --version
besu/v22.7.1/linux-aarch_64/openjdk-java-11

If I run these configs:

Besu: --data-path=/home/ethereum/.besu --sync-mode=X_SNAP --data-storage-format=BONSAI --p2p-port=30328 --engine-jwt-secret=/etc/ethereum/jwtsecret --metrics-enabled

Teku: --network=mainnet --eth1-endpoint=http://localhost:8545 --p2p-port=9028 --data-path=/home/ethereum/.teku/ --ee-endpoint=http://127.0.0.1:8551 --ee-jwt-secret-file=/etc/ethereum/jwtsecret --validators-proposer-default-fee-recipient=<scrubbed for privacy> --metrics-enabled

I repeateadly see the following in Teku logs:

Eth1 service down or still syncing for 4891s, retrying

If I add the --rpc-http-enabled flag to Besu it starts loading the Eth1 deposits and the Eth1 service down or still syncing for 4891s, retrying messages go away.

Do you see something missing in the configs without the flag?

@SomerEsat
Copy link
Owner

SomerEsat commented Sep 4, 2022

Yes - this is redundant and no longer required: --eth1-endpoint=http://localhost:8545. Having that line requires the --rpc-http-enabled flag. But - the merge utilizes the engine API which communicates via the authenticated 8551 port. Once you remove it (the 8545 flag), the issue will disappear, assuming Besu is fully synced.

@SomerEsat
Copy link
Owner

Note my config from my guide:

Besu:

ExecStart=/usr/local/bin/besu/bin/besu \
  --network=mainnet \
  --sync-mode=X_SNAP \
  --data-path=/var/lib/besu \
  --data-storage-format=BONSAI \
  --engine-jwt-secret=/var/lib/jwtsecret/jwt.hex

And Teku:

ExecStart=/usr/local/bin/teku/bin/teku \
  --network=mainnet \
  --data-path=/var/lib/teku \
  --validator-keys=/var/lib/teku/validator_keys:/var/lib/teku/validator_keys \
  --ee-endpoint=http://127.0.0.1:8551 \
  --ee-jwt-secret-file=/var/lib/jwtsecret/jwt.hex \
  --validators-proposer-default-fee-recipient=FeeRecipientAddress \
  --initial-state=CheckpointSyncURL \
  --validators-graffiti="<yourgraffiti>"

@diglos
Copy link
Author

diglos commented Sep 4, 2022

Ah, ok, it was Teku config. Thanks for the explanation.

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

No branches or pull requests

2 participants