Releases
Züs Mainnet Release Documentation
Prerequisites
Always create a snapshot for recovery before doing any release. This is non-negotiable.
Weekly snapshots for miners and sharders must also be maintained for general fault tolerance.
Miner and Sharder Mainnet Release
Assumption: This release has been well tested on dev. Demo release steps are excluded due to deprecation.
Snapshot Creation
Create a full system snapshot (miners and sharders) to enable quick recovery in case of failure. Refer to deployment and snapshot guide
Update a Single Miner and Sharder
Select one miner and one sharder from the mainnet.
Update the
0chain
binary for both.
Initial Health Check (1 Day Observation)
Ensure the updated miner and sharder are running for at least 24 hours.
Confirm:
Rounds are progressing.
No suspicious entries in logs.
Updated miner is producing blocks.
Announce and Update All Sharders
Broadcast to the network: instruct all operators to update their sharders.
Wait for full sharder update completion.
Announce and Update All Miners
Broadcast to the network: instruct all operators to update their miners.
Wait for full miner update completion.
Coordinate with @saswata for Hardfork Activation
Ensure all updates are complete.
Confirm readiness to activate the hardfork.
Activate the Hardfork
Run command:
./zwallet add-hardfork -n <hardfork_name> -r <round_in_future>
Verify hardfork is registered:
https://sharder1.0chain.net/sharder01/v1/scstate/get?key=hardfork:<hardfork_name>
Wait for the trigger round to be reached.
Post-activation checks:
Ensure chain is progressing.
Confirm miner/sharder logs are free from anomalies.
Notes
Repeat Snapshot Reminder: Always take a snapshot before any release.
Config Management: All config updates must be made using a blockchain transaction from the smart contract owner wallet. Manual file changes will not apply.
Weekly Snapshot Strategy: Maintain weekly snapshots of all miners and sharders to recover from potential data loss or node failure.
0box Mainnet Release
Assumption: This release has been well tested on dev. Demo steps are deprecated.
Backup Postgres Database
Perform a full backup of the 0box Postgres DB hosted on AWS RDS.
Update First 0box Instance
Pull and deploy the new Docker image.
Run health checks:
Ensure service is running.
Review recent logs for any errors or anomalies.
Update Second 0box Instance
Deploy the updated image to the second instance.
Run the same health and log checks.
Web App Testing
Perform functional tests across all connected web applications.
Manual tests or
Automated Cypress tests
Notes
The steps above pertain only to updating the 0box image.
0box is interconnected with other services: Postgres, Kafka, Redis, Elasticsearch
Any release that introduces changes affecting these components must include additional steps. Current setup does not require any updates to these dependencies.
Last updated