Skip to content

Conversation

@dkijania
Copy link
Member

@dkijania dkijania commented Nov 13, 2025

Introducing testnet-generic docker/debian packages instead of berkeley.

Historically berkeley artifacts were used for long runing pre hf testnet for experimenting with berkeley prior to hardfork event. After that we were still using them as genesis config for berkeley (see for example discussion here: #17537 (comment)). The main reason to keep berkeley artifacts and still build them in CI, was not obvious. Since we didn't fork from berkeley , genesis config does not contain hard fork element, which is irreplaceable by chain of configs when running daemon, in contrary to devnet/mainnet. That would be fixed by full runtime config implementation, where we can replace every element of genesis config.

Till then, I'm proposing to replace berkeley with something more clear as per usage and rename it to testnet-generic. We need testnet prefix to suggest it is incompatible with mainnet and generic since it is not binded to any network. By default seed list is targeted to devnet but there is no genesis config loaded behind the scenes. Therefore such artifacts can interact in any testnet network.

Important things in this pr are:

  • removal of berkeley genesis_config
  • renaming berkeley artifacts
  • almost completely removing berkeley codename from repo in CI and scripts
  • removed logic which puts devnet.json to mainnet artifact and vice versa

@dkijania
Copy link
Member Author

!ci-nightly-me

@dkijania
Copy link
Member Author

!ci-build-me

1 similar comment
@dkijania
Copy link
Member Author

!ci-build-me

@dkijania dkijania changed the title rename berkeley debian suffix to testnet-generic. Also skipped packin… [CI] Rename berkeley debian suffix to testnet-generic Nov 14, 2025
@dkijania dkijania self-assigned this Nov 14, 2025
@dkijania
Copy link
Member Author

!ci-build-me

1 similar comment
@dkijania
Copy link
Member Author

!ci-build-me

"./scripts/docker/build.sh"
++ " --service ${Artifacts.dockerName spec.service}"
++ " --network ${Network.lowerName spec.network}"
++ " --network ${Network.debianSuffix spec.network}"
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here is the interesting stuff:

network name is added as a segment of debian name which must follow some rules, like no underscore. That's why we are using explicit method to convert network to debian suffix

# This config is automatically picked up by the daemon on startup.
# In case of testnet-generic we only copy the devnet ledger without magic one
# as testnet-generic should be testnet agnostic.
case "${1}" in
Copy link
Member Author

@dkijania dkijania Nov 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another interesting part:

We are no longer adding genesis ledgers to every package variation (from network perspectvie). Mainnet to mainnet, devnet to devnet, testnet-generic got devnet.

Also we are not adding magic config to testnet generic

@dkijania
Copy link
Member Author

!ci-build-me

@dkijania
Copy link
Member Author

!ci-build-me

3 similar comments
@dkijania
Copy link
Member Author

!ci-build-me

@dkijania
Copy link
Member Author

!ci-build-me

@dkijania
Copy link
Member Author

!ci-build-me

@dkijania dkijania force-pushed the dkijania/convert_berkeley_to_testnet_generic branch from 830737a to cdf3bef Compare November 23, 2025 22:25
@dkijania
Copy link
Member Author

!ci-build-me

@dkijania dkijania force-pushed the dkijania/convert_berkeley_to_testnet_generic branch from cdf3bef to a796817 Compare November 24, 2025 15:58
@dkijania
Copy link
Member Author

!ci-build-me

@dkijania dkijania force-pushed the dkijania/convert_berkeley_to_testnet_generic branch from a796817 to 041fd63 Compare November 25, 2025 11:02
@dkijania
Copy link
Member Author

!ci-build-me

@dkijania
Copy link
Member Author

!ci-build-me

@dkijania
Copy link
Member Author

!ci-build-me

@dkijania
Copy link
Member Author

!ci-nightly-me

@dkijania dkijania marked this pull request as ready for review November 26, 2025 07:54
@dkijania dkijania requested review from a team as code owners November 26, 2025 07:54
cp ../genesis_ledgers/${1}.json "${BUILDDIR}/var/lib/coda/${1}.json"
;;
testnet-generic)
cp ../genesis_ledgers/devnet.json "${BUILDDIR}/var/lib/coda/devnet.json"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will still require testnet-generic deployments to delete this in order to start new custom ledgers, right? @dkijania

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, this ledger is not automatically included when you are staring daemon. The one you are referring is located in /var/lib/coda/config_{commit}.json. That is why we are omitting such copy (like we are doing in 199 line)

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

Successfully merging this pull request may close these issues.

3 participants