Pre-Upgrade
During the Pre-Upgrade phase, node operators prepare their infrastructure for the Mesa hard fork. Select your role below and work through each item on the checklist.
Readiness Checklist
- Block Producer
- SNARK Coordinator
- SNARK Worker
- Archive Node
- Rosetta API
- Exchange
Infrastructure
- Server meets hardware requirements
- Port 8302 (or custom
--external-port) is open and reachable from the internet - If behind NAT/firewall,
--external-ipis set to your public IP - Node is configured for auto-restart (systemd or equivalent)
Keys and Credentials
- Block producer key file is accessible and backed up
- libp2p keypair is accessible (same key can be reused from before the upgrade)
Software Upgrade
- Chosen an upgrade mode: automode (recommended) or manual
- Upgraded node to the current stable version
- Installed stop-slot release 3.x.x before the stop-transaction-slot
- If using automode: installed both
mina-{network}-prefork-mesaandmina-{network}-postfork-mesapackages (or the automode Docker image) - If using manual mode: installed
mina-mainnet=3.x.x(stop-slot release only)
Verification
- Node is running and synced after the upgrade
- Node status shows correct version:
mina client status
Infrastructure
- Server meets hardware requirements — 32 GB RAM, 8-core CPU
- Port 8302 (or custom
--external-port) is open and reachable - Node is configured for auto-restart
Keys
- libp2p keypair is accessible
Software Upgrade
- Chosen an upgrade mode: automode (recommended) or manual
- Upgraded node to the current stable version
- Installed stop-slot release 3.x.x before the stop-transaction-slot
- If using automode: installed both prefork and postfork packages
- If using manual mode: installed stop-slot release only
Verification
- Node is running and synced
- SNARK workers can connect to coordinator after upgrade
Infrastructure
- Server meets hardware requirements — 32 GB RAM, 6 core/12 threads per worker, AVX + BMI2
Connectivity
- Connected to a coordinator that is upgrading
- No independent upgrade action needed — workers follow the coordinator
SNARK workers do not need to install the stop-slot release independently. They connect to a SNARK coordinator, which handles the upgrade. Just ensure your coordinator is ready.
Infrastructure
- Server meets hardware requirements — 32 GB RAM, 8-core CPU
- Port 8302 (or custom
--external-port) is open and reachable - Node is configured for auto-restart
Database Upgrade
- Chosen archive upgrade method: trustless or trustful
If trustless:
- Downloaded and reviewed the upgrade script
- Created a database backup:
pg_dump -U <user> <db> > berkeley-archive-backup.sql - Ran the upgrade script (completes in under 1 minute)
- Verified upgrade:
psql -U <user> -d <db> -c "SELECT * FROM version;"
If trustful:
- No action now — wait for o1Labs database export during the Upgrade phase
Software Upgrade
- Upgraded node to the current stable version
- Installed stop-slot release 3.x.x before the stop-transaction-slot
- Archive node is running and capturing blocks
Prerequisites
- Complete the entire Archive Node checklist first (Rosetta depends on archive)
Rosetta-Specific
- Reviewed the Rosetta Docker image version in Post-Upgrade flags
- Verified current Rosetta API is functional against existing archive database
Infrastructure
- Server meets hardware requirements — 32 GB RAM, 8-core CPU
- Node is configured for auto-restart
Integration Testing
- Tested system integration with Mesa features on the preflight network
- Reviewed database schema changes in the Appendix (if using archive database directly)
Software Upgrade
- Upgraded node to the current stable version
- Installed stop-slot release 3.x.x before the stop-transaction-slot
Operations Plan
- Plan in place to disable MINA deposits and withdrawals before stop-transaction-slot
- Customer communication prepared for the maintenance window
Any transactions submitted after the stop-transaction-slot will not exist on the Mesa chain. Disable deposits and withdrawals before State Finalization begins.
Detailed Steps
Block Producers and SNARK Workers
- Provision servers that meet the minimum hardware requirements, including 32 GB RAM and support for AVX and BMI2 CPU instructions.
- Upgrade nodes to the stop-slot release version 3.x.x, which has built-in stop slots.
If you are using Automode, no further action is needed until the Post-Upgrade phase — your node will handle the transition automatically.
Archive Node Operators and Rosetta Operators
Two upgrade processes are available: trustless and trustful. If you want to perform the trustless upgrade, follow the steps below; otherwise, proceed to the Upgrade phase. The trustful approach relies on o1Labs database exports and Docker images and doesn't require any actions at this stage.
- Trustless upgrade:
- Perform the archive node schema upgrade. Since Mainnet is a long-lived network, the upgrade process is a very fast operation and boils down to running the upgrade script against your archive. It should not take more than 1 minute, depending on your server specification and infrastructure.
- For more information on the archive node upgrade process, please refer to the Archive Upgrade section.
- Provision servers that meet the minimum hardware requirements, primarily 32 GB RAM.
- Upgrade all nodes to the stop-slot release 3.x.x before the pre-defined stop-transaction-slot.
Exchanges
- Make sure to test your system integration with Mesa's new features. Pay special attention to:
- If you rely on the archive node SQL database tables, please review the schema changes in the Appendix.
- Provision servers that meet the minimum hardware requirements, particularly 32 GB RAM.
- Upgrade all nodes to the stop-slot release 3.x.x before the pre-defined stop-transaction-slot.