Stake pool registrants shall provide signed submissions as Github pull requests into the testnet pool registry, where they would be subject to automated check 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, carry the following information:
- the subject identifier (ID), which is a Bech32-encoded Ed25519 public key,
- stake pool ticker,
- URI of the stake pool’s web page,
- an 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, exclusively 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,
- With 3 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,
- And one optional ::
- “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.