Skip to content

Latest commit

 

History

History
50 lines (34 loc) · 3.27 KB

REGISTRATION.md

File metadata and controls

50 lines (34 loc) · 3.27 KB

Entity Registration

Entity Manager

The EntityManager contract will be required throughout this guide. It can be found here:

Entity registration

You will need 5 addresses to be able to participate in the protocol:

  • Identity address: entity's main address
    • should be stored in a cold storage as it will only ever be needed in the initial setup and any future rotation of other keys
  • Submit address: used for submit1, submit2 and submit3 transactions
    • can be stored in a hot storage as its private key will be added to .env file during deployment
  • Submit signatures: used for submitSignatures transactions
    • can be stored in a hot storage as its private key will be added to .env file during deployment
  • Signing policy: used for reward epoch registration and relay transactions as well as payload signing in some parts of the system
    • can be stored in a hot storage as its private key will be added to .env file during deployment
  • Delegation address: used for wrapping your tokens and getting delegation
    • should be stored in a cold storage as it will not be needed in day to day protocol participation

All 5 addresses will need to be funded for gas fees.

You can register above keys via EntityManager contract by first calling propose...Address with your identity address and then calling confirm...Address with proposed address.

If you have a safe environment to work with you can register your entity with a script by following REGISTER_TASK.md.

Fast Updates

Addresses

Additional 3 addresses will need to be generated for fast updates system. These addresses don't require any registration and can be stored in hot storage as their private keys will be added to .env file during deployment.

Sortition key

You will need to generate a sortition private/public key pair for use in the fast updates system. This key can be in hot storage as it will be added to .env file during deployment. The key can be generated by running the keygen cli that can be found here. You can also run with with docker:

docker run --rm ghcr.io/flare-foundation/fast-updates/go-client keygen

You can register above generated key via EntityManager contract by calling registerPublicKey with your identity address.

If you have a safe environment to work with you can register your entity with a script by following REGISTER_TASK.md.

Validator nodes

Your validator nodes need to be registered with the Entity system. You can do this via EntityManager contract by calling registerNodeId with your identity address for each of your validator nodes. The three required values can be generated as described in VALIDATOR_NODE.md.