Stake pool registrants will provide signed submissions in the form of Github pull requests into the testnet pool registry. Here they will be subject to automated checking for well-formedness and human vetting.
This action does not require any changes to the registry – the inactive pools are simply ignored.
TODO: what changes are allowed and what is the process.
Generally speaking, the registry entries, taken as a whole, contain the following information:
- subject identifier (ID) - a Bech32-encoded Ed25519 public key
- stake pool ticker
- URL of the stake pool’s web page
- optional pledge address (also Bech32-encoded)
- signature (verifiable by the public key)
Precise entry validity rules are described in the following section.
- Submissions shall consist of a single commit, directly off the master
branch of the IOHK
testnet-stake-pool-registry
repository. - Submissions are identified by the subject’s Bech32-encoded Ed25519 public key (all lowercase).
- Submissions shall either add a new entry or modify one.
- Submissions shall involve (addition or modification) of exactly two files,
under the
registry
subdirectory of the repository:- the JSON submission entry file, with the “.json” extension (lowercase),
- the external signature of the file, with the “.sig” extension (lowercase).
- The file name part of both files must match the aforementioned ID string, up to character case (all lowercase).
- Contents of the JSON file:
- Must be a JSON object, reasonably (non-offensively) formatted,
- Must contain these four mandatory fields:
- “id”
- must consist of the ID string, prepended with the string
ed25519_
(8 characters), - “ticker”
- must be either a 3 or a 4-character long, all-uppercase alphabetic string, formed of ASCII characters,
- “homepage”
- must be an absolute URL for the stake pool’s web page,
- “pledge_address”
- a string with the Bech-32 -encoded pledge address,
prepended with the string
ed25519_
(8 characters).
- No other fields are allowed.
- The ticker must be unique in the registry.
- The external signature file must validate the JSON file.
- The commit message must adhere to the following form, exactly:
- Just one line
- ..starting with the ticker name, exactly as specified in the JSON file
- ..immediately followed by a column, and then two space characters
- ..immediately followed by words either “new” or “modify”, reflecting the nature of the submission.