/testnet-stake-pool-registry

WARNING: not the production stake pool registry. That will be announced later.

Primary LanguageStandard ML

IOHK Shelley testnet stake pool registry

Process

Entry submission: stake pool registration

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.

Entry withdrawal: stake pool de-registration

This action does not require any changes to the registry – the inactive pools are simply ignored.

Changing existing entries:

TODO: what changes are allowed and what is the process.

Semantic content of registry entries

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.

Submission well-formedness rules

  1. Submissions shall consist of a single commit, directly off the master branch of the IOHK testnet-stake-pool-registry repository.
  2. Submissions are identified by the subject’s Bech32-encoded Ed25519 public key (all lowercase).
  3. Submissions shall either add a new entry or modify one.
  4. 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).
  5. The file name part of both files must match the aforementioned ID string, up to character case (all lowercase).
  6. Contents of the JSON file:
    1. Must be a JSON object, reasonably (non-offensively) formatted,
    2. 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).
    3. No other fields are allowed.
  7. The ticker must be unique in the registry.
  8. The external signature file must validate the JSON file.
  9. 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.