A protocol release for a casper network is a combination of a casper-node binary release and network configuration. The current scripts in casper-node-launcher packages expect these to be packaged as .tar.gz files.
In the file system a protocol version is represented with underscores _ instead of periods ..
For example: protocol version 1.0.0 will use 1_0_0 for files paths.
This group of files should be installed on the server in /etc/casper/<protocol_version>/. This is done
as part of pull_casper_node_version.sh distributed with casper-node-launcher packages.
This is a system agnostic configuration files for a protocol release. The starting protocol version
of 1.0.0 requires accounts.toml to initialize accounts at genesis. This file should not exist for any
version past the genesis 1.0.0 protocol.
chainspec.toml is the configuration for the network. This must be the same for all nodes on the network
to continue with consensus.
config-example.toml is the default configuration with a location to drop in the node's IP address to
create a config.toml file on the server. This is done automatically with the config_from_example.sh
script distributed with casper-node-launcher packages.
Other files may be included with config.tar.gz as needed for upgrade or additional functionality of the system.
The bin.tar.gz package holds a casper-node binary compiled for Ubuntu 18.04/20.04.
The bin_rpm.tar.gz package holds a casper-node binary compiled for CentOS 8 / RHEL 8.
In addition to the appropriate casper-node binary a README.md file is included which identifies both
the platform targeted, and the github source for compilation.
Note: Because of similarities to binary versions and protocol versions with MainNet casper network, it
should be noted that the protocol version has no correlation to the casper-node binary version. If a new
network was created, the 1.0.0 protocol should most likely use the latest viable binary version.
Branches on the repo will be associated with networks the protocol are targeted towards. This has a
disadvantage of requiring merging of CI changes to main into all network branches.
Public networks: casper and casper-test
Tags for a given branch should be prefixed by the branch name.
For example:
- Tags on the
casperbranch should look likecasper-1.0.0for protocol1.0.0. - Tags on the
casper-testbranch should look likecasper-test-1.1.2for protocol1.1.2.