-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Add ephemery testnet flag #15358
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
base: develop
Are you sure you want to change the base?
Add ephemery testnet flag #15358
Conversation
http_archive( | ||
name = "ephemery_testnet", | ||
build_file_content = """ | ||
filegroup( | ||
name = "configs", | ||
srcs = [ | ||
"metadata/config.yaml", | ||
], | ||
visibility = ["//visibility:public"], | ||
) | ||
""", | ||
strip_prefix = "", | ||
url = "https://github.com/ephemery-testnet/ephemery-genesis/releases/latest/download/network-config.tar.gz", | ||
) | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will need to be pinned to a specific commit and the sha256 or integrity must be provided.
Seeing your commentary:
This PR will not be accepted without a pinned commit and sha256. Prysm builds and testing MUST be reproducible. There is also a strong desire that changes in external repositories do not suddenly break all PRs in Prysm CI. |
Thanks for the review @prestonvanloon. I understand, and of course that makes sense. I am wondering how we can approach this given the dynamic ephemery config - do you have any suggestions? |
Would you be comfortable with the test being pinned to a specific release and |
@atkinsonholly Yes, if the dependency is pinned to a specific release/commit with the sha/integrity then it can be merged. How often do you expect that these config values will need to be updated? It might be better to communicate to operators to use Not saying this isn't possible to merge, but seems like it could have some pain points. |
Yes, 28 days. The config itself shouldn't need to be updated more than for any other testnet, since the iteration is calculated within. However, if I understand correctly the way the repo works, it's then the testfile that compares this config to the upstream version and verifies the integrity. Couple of initial thoughts we could explore, let me know if either of these might be an acceptable way forward: |
I discussed this offline with ethpandaops folks. I support the effort to have a static config for ephemery. As I understand it, the config is constant, but the I've read the EIP-6916 too. As far as the reset function, I think this is not viable for Prysm and operators should perform a manual db wipe and client restart to pick up the new interval. Such behavior is not impossible to implement in Prysm, but it is additional complexity risk and maintenance burden for functionality that will never be used on mainnet. Since the initial config is not changed, we should be able to merge this PR with the pinned release/commit and sha values for the http_archive. Please also see that the test is complaining that the config values do not match the upstream repo.
|
What type of PR is this?
Feature
What does this PR do? Why is it needed?
Ephemery is a new kind of testnet which is intended for short term testing use cases. It automatically resets back to genesis after every given period which enables reclaiming faucet funds, clearing validator set and keeping small state. There is ongoing effort to implement ephemery natively within clients.
Which issues(s) does this PR fix?
Addition of the ephemery testnet flag, #15357. This PR is similar to the addition of previous testnests (hoodi, holesky) with some differences, described below.
Latest release
Latest config.yaml
Other notes for review
period
. There is some discussion potentially needed regarding what parameters should live intestnet_ephemery_config.go
and what's appropriate forconfig/params/config.go
.period
, there is no sha256 verification check currently included in the test (seeWORKSPACE
).Acknowledgements