Overview
Congratulations to the Celo community on a successful launch of the Baklava network last week! The genesis validators bootstrapped the network without any cLabs validators for the first time, and then completed the initialization of the network by passing governance proposals enabling epoch rewards, Celo Dollars, and the stability protocol. This dry run was extremely important, as the same steps will be followed to release the Celo Mainnet, which is the next goal .
Please read this post carefully, as it contains important information related to Mainnet release, including dates and instructions to receive The Great Celo Stake Off (TGCSO) awards.
Mainnet Dates and Roadmap
The first release candidate network for Mainnet (RC1) will go live on April 22nd, Earth Day .
Roadmap:
- April 18th:
- ACTION REQUIRED: By 4/18 16:00 UTC, genesis validators must share addresses (see below for more details)
- Docker image and genesis block for RC1 shared by 4/19 00:00 UTC
- Validators able to set up nodes and get ready
- April 22nd 16:00 UTC [Genesis block timestamp]:
-
ACTION REQUIRED: Genesis validators must have nodes ready and be available to start network
- If quorum is achieved, block production begins
- Core contracts deployed
- ReleaseGold contracts for validators deployed
-
ACTION REQUIRED: Genesis validators must have nodes ready and be available to start network
- April 25th:
- The Celo Foundation casts initial votes for validator groups (see below for details)
- ACTION REQUIRED: In order for The Celo Foundation to be able to vote for your group, validator groups and validators must be registered by 16:00 UTC on 4/25
- The Celo Foundation casts initial votes for validator groups (see below for details)
- April 27th:
- Governance proposal #1 submitted to unfreeze validator elections
- Governance proposal #2 submitted to unfreeze validator epoch rewards
- May 1st:
- Governance proposals #1 and #2 pass if they gain enough votes
- Elections and validator rewards enabled
- ACTION REQUIRED: Validators must be registered and affiliated with a validator group before this date to be eligible for the first election
- Governance proposals #1 and #2 pass if they gain enough votes
- May 14th:
- Governance proposal #3 submitted to unfreeze voter rewards
- Governance proposal #4 submitted to enable Celo Gold transfers
- May 18th:
- Governance proposals #3 and #4 pass if they gain enough votes
- Voter rewards and cGLD transfers are enabled
- RC1 is declared Mainnet
- Governance proposals #3 and #4 pass if they gain enough votes
- May 30th:
- Governance proposal #5 submitted to unfreeze stability protocol
- June 3rd:
- Stability protocol active if governance proposal #5 passes
If there are no issues found during this ramp-up process, RC1 will officially graduate into the Celo Mainnet on or around May 18th. In the event that there are bugs that prevent RC1 from graduating into Mainnet, a new build will be created to restart a new release candidate.
This schedule may change. It is crucial that validators remain aware of this roadmap and any changes to it, as there are windows where validator action is required to reach quorum, and pass governance proposals to complete the network release. The cLabs team will share timeline updates in Discord, over email and by updating this forum post.
TGCSO ReleaseGold and Addresses
If you were a TGCSO validator that won an award, you need to share addresses with cLabs by 4/18 16:00 UTC to receive your cGLD grant and to be included in the genesis block.
ReleaseGold
cLabs will be distributing TGCSO awards via the ReleaseGold smart contract. If you participated in the new Baklava network, then you have already used the CLI commands and interfaced with ReleaseGold.
Since ReleaseGold balances cannot be transferred freely for the lock-up period of the TGCSO awards, you must specify how you would like your award to be split up. Below, you will find the default splits suggested:
1st - 3rd: 70,000 Celo Gold Units
- 1 group, 3 validators
- One 40k ReleaseGold
- Three 10k ReleaseGold
4th - 6th: 50,000 Celo Gold Units
- 1 group, 2 validators
- One 30k ReleaseGold
- Two 10k ReleaseGold
7th - 10th: 40,000 Celo Gold Units
- 1 group, 2 validators
- One 20k ReleaseGold
- Two 10k ReleaseGold
11th - 19th: 30,000 Celo Gold Units
- 1 group, 1 validator
- One 20k ReleaseGold
- One 10k ReleaseGold
20th - 50th: 20,000 Celo Gold Units
- 1 group, 1 validator
- Two 10k ReleaseGold
51st - 70th: 10,000 Celo Gold Units
- 1 group OR 1 validator
- One 10k ReleaseGold
Some validators will be awarded slightly more due to community awards, and the surplus amounts will be added to the largest split.
Addresses
You will need to generate a separate address for each ReleaseGold split. If you wish to use a Ledger Nano S or X to manage your beneficiary keys, the Celo Ledger app is now available in the Ledger dev store. Please follow these docs to install the Celo Ledger app and generate addresses.
You will also need to generate 1 validator signer address and 1 BLS public key (and the associated BLS signature) to include in the genesis block. When generating the BLS public key and signature, use the following command, which has the 2nd argument already populated with the address to generate the BLS signature over:
docker run -v $PWD:/root/.celo --rm -it $CELO_IMAGE --nousb account proof-of-possession $CELO_VALIDATOR_SIGNER_ADDRESS 0x2870054a9f889655cc832763d01b438f3aa7b91d --bls
NOTE: you should not generate the signer or BLS key on a Ledger device. Once ReleaseGold contracts have been deployed, it is recommended to authorize the genesis validator signer key as the validator signer for the ReleaseGold contract with which you will register your first Validator.
ACTION REQUIRED: By 4/18 16:00 UTC, please create a public Gist titled celo-release-candidate.md under the same account you used to create celo-stake-off.md. This file should contain the information needed to include your validators in the genesis set, and deploy ReleaseGold contracts for each split. See below for an example:
CELO_GENESIS_VALIDATOR_SIGNER_ADDRESS=...
CELO_GENESIS_VALIDATOR_SIGNER_BLS_PUBLIC_KEY=...
CELO_GENESIS_VALIDATOR_SIGNER_BLS_SIGNATURE=...
CELO_RELEASE_GOLD_BENEFICIARY_ADDRESS_1=...
CELO_RELEASE_GOLD_BENEFICIARY_ADDRESS_2=...
Note that you will need to add a beneficiary address for each ReleaseGold split that you expect to receive for your TGCSO award. If you would like custom splits, you will also need to include the variable CELO_RELEASE_GOLD_SPLITS
to the Gist. See below for an example:
CELO_RELEASE_GOLD_SPLITS="10000,10000,10000"
Celo Foundation Voting Details
The Celo Foundation will use a portion of its cGLD to cast votes in validator group elections via 3-month cohorts.
If you were a top 50 validator in TGCSO, you will automatically be selected for the first two cohorts, meaning you can receive Foundation votes for an initial 3 and 6 months, depending on where you placed:
- If you placed 1-25 in TGCSO, you will receive votes from the Celo Foundation for up to 6 months (some terms and conditions will apply, see below).
- If you placed 26-50 in TGCSO, you will receive votes from the Celo Foundation for a period of up to 3 months (some terms and conditions will apply, see below)
The criteria that applicants must meet in order to be considered may include:
- Zero slashing incidents
- Self-reported compliance to a published audit checklist
- Certification through an educational course that will be published
- Basic diligence, including name, location, and entity information
- Commitment to running attestation services with demonstrated reliability and uptime
- Celo Foundation mission aligned qualities, such as non-profit work, and geographic decentralization
In order for The Celo Foundation to be able to vote for your group, you must ensure that your Validator Group and Validator(s) are registered on RC1 by 16:00 UTC on 4/25. Note that failure to register in time or to meet the criteria listed above (e.g. not running an attestation service, being slashed for downtime) may result in the revocation of Celo Foundation votes.
After Mainnet release, the Foundation anticipates separating its votes into thirds, and allocating each third to a cohort of validator groups that meet certain criteria. If a validator group is selected, so long as they meet certain criteria, that validator group can expect to receive Foundation votes for a 9 month period, after which a new cohort will be selected.
The Celo Foundation will soon be sharing more information related to the voting guidelines. The application process for the third cohort will be shared at that time as well, at which time all Validator Groups will be eligible to apply for votes from The Celo Foundation.
What happens to Baklava?
Baklava will continue! The following Celo networks will remain up and serve the following purposes:
- Alfajores Testnet: stable network for app developers – run by cLabs validators
- Baklava Testnet: network for validators to gain experience and for testing new changes to the Celo protocol before they are graduated to other networks
- Release Candidate 1: may graduate to become Celo Mainnet
It is highly recommended that validators continue running nodes on Baklava, in order to maintain the network, and test upcoming features to be included in the Mainnet. If you have any concerns about being able to run validators on both Mainnet and Baklava, due to cost or limited infrastructure, kindly email hello@celo.org to share details.
Please do NOT hesitate to contact the cLabs team if you have any questions about any of the above information. We understand that this is a tight timeline, especially given the challenges in the world right now, but are confident given the success of Baklava that this goal is within reach. If you have any doubts or concerns, please email hello@celo.org or reach out on Discord.
Thank you once again for being part of this journey to launch Celo, and create a more prosperous world. We couldn’t be more excited for the next weeks, months, and years to come!