-
Notifications
You must be signed in to change notification settings - Fork 26
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
Add Lighthouse beacon node peer #47
Conversation
🔥🔥 Excited to land this! |
I was hoping to get this to a state where the Lighthouse node is able to sync until the eip4844 fork epoch - given that there are still a few outstanding tasks before Lighthouse is ready for interop on devnet-v3. However, I'm seeing some issue with processing pre 4844 blocks when running Lighthouse and a Prysm beacon node. Not sure whether this is a config issue or something else. The Lighthouse beacon node is able to sync with the Prysm beacon node initially. However, it doesn't like the blocks received from Prysm, and failed with Initial Sync:
Received first block, but block signature verification failed due to invalid bitfield:
Not sure if I'm looking at the right thing here, but looking at the Prysm beacon node, the attestation in slot 1 contains only 1 aggregation bit ( Any help is appreciated! |
Might have something to do with the way prysm generates mock validators for interop testing. We could try a getting rid of prysm's interop test flags to see if that resolves the issue. |
I'm unable to build the lighthouse image locally. Any ideas what's causing this?
|
@Inphi hmm I'm not seeing the same error, looks like it hasn't even started executing |
Thanks that fixed the issue. Noticed another issue where the lighthouse's fork digest doesn't match prysm's: For interop, we override the default fork digest (because prysm needs unique fork versions when a custom chain config is used). This is specified in the shared chain-config so I'm wondering if lighthouse could be ignoring the configs. |
@Inphi hmm isn't it quite common to override the fork schedule on custom networks? I don't see why Lighthouse would be ignoring those :/ It looks like the error usually happens at slot 3, before transitioning to epoch 1. I wonder the fork digest issue is related to the previous issue with processing blocks, since the lighthouse node may not be upgrading to the next fork, resulting in different fork digest? There are still a few outstanding issue before Lighthouse is ready for interop on devnet v3. I'm inclined to try this again once we get the EF consensus specs to pass on the lighthouse |
I'm just guessing though - but if I increase the fork epochs, the error doesn't show up immediately at slot 3. Fork related config values loaded in Prysm:
|
Seems there's a config issue:
The shared chain config sets the |
Seems related to this. I'll update the configs to use the minimal preset. (Note that there's a eip4844 preset defined used for pyspec testing. But we don't wanna use this because the |
Ah, nice find! I'll update the |
Looks like @Inphi what was the reason to have a lower |
the slots per epoch is reduced for a more responsive and quicker testing during local development. It's not essential to run the e2e tests. I tried using the minimal preset but ran into a couple issues. Is it possible to define a new preset for lighthouse? |
What issue were you seeing, is it this one?
Looks like it's something to do SSZ proto templating variables defined here - it might require a custom Prysm build to run minimal preset, I read mention of building with I think it's possible to define a new preset for lighthouse with code changes, but I'm guessing that would require either adding the preset to other clients too, or use a custom config file for lighthouse - latter is probably easier. |
52361bc
to
ca0dffe
Compare
Apologies for not responding on time. I've been sick for the past week and I'm now coming up to speed. Did the syncing issue get resolved? |
Hey @Inphi no worries, hope you're feeling better now.
I've asked the question on Prysm discord: |
@Inphi hmm I see that we're using |
I'll look into creating a new preset in Lighthouse for this. |
would it be easier to use the mainnet preset? it seems even lodestar will need another custom preset and we should try to keep it super easy for other clients. |
Yes, that would be much easier! |
@realbigsean is continuing work on this branch, I'm going to do some testing with this as well! |
This PR adds a Lighthouse beacon node peer.
This is still WIP as the Lighthouse team is currently working on stablizing the eip4844 branch. At the moment I am still getting compilation errors on the branch when building locally - so will keep following changes on the branch.
I have not added generating genesis and running bootnodes with Lighthouse - these will probably come later if required.