-
Notifications
You must be signed in to change notification settings - Fork 87
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
Requirements for Portal usage in EL client for history data expiry (EIP-4444) #308
Comments
Is fluffy written as a module capable of being bolted on to the nimbus el client? That's what I'm doing in my proof of concept work with the EthereumJS client and ultralight and it seems to work reasonably well so far. |
Yes, that's the idea. We have an issue open on this (status-im/nimbus-eth1#2147).
Yes, I think thanks to the Portal architecture, libraries/clients will naturally lean into having a modularity that allows for this. |
We have encountered such a problem. Although go-ethereum and erigon are both EL developed by Go, and the codes of their p2p packages are basically the same, due to the dependency issues of GO language and the early implementation of p2p, they were not considered to be provided to other projects as dependency libraries. At present, we can only fork one of their projects to develop shisui, and the other project can only be referenced by copying. |
Write up of the different parts that an EL client will have to either implement or use from a Portal library or Portal node when using the Portal Network as alternative for history chain data (EIP-4444).
Current status
Potentially in the future
If #287 and #291 get merged and thus chosen as solution for validation of block headers as part of the chain post merge, then for the second PR, an additional requirement is added for validation of these block headers:
BeaconState.historical_summaries
: https://github.com/ethereum/consensus-specs/blob/dev/specs/capella/beacon-chain.md#beaconstateWhen using the Portal Network for this, this translates to the requirements:
However, an EL/CL combo does have directly access to this, but afaik the EL itself does not. One could for example decide to define an extra engine_api call (or other json-rpc namespace) to push this data to the EL.
Or specifically for the second item, implement the libp2p version of the consensus light client (which I believe some EL clients have).
The text was updated successfully, but these errors were encountered: