You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/mesa-upgrade/appendix.mdx
+15-20Lines changed: 15 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,6 +17,8 @@ Below we present details of what changed in the archive node database schema bet
17
17
18
18
### Extended zkApp State Fields
19
19
20
+
Both zkApp state tables have been modified to support additional state elements:
21
+
20
22
**zkapp_states_nullable table**
21
23
- Added columns `element8` through `element31` (nullable integer fields)
22
24
- Each new column references `zkapp_field(id)`
@@ -39,31 +41,24 @@ ALTER TABLE zkapp_states ADD COLUMN IF NOT EXISTS element8 INT DEFAULT <zero_fie
39
41
ALTERTABLE zkapp_states ADD COLUMN IF NOT EXISTS element31 INT DEFAULT <zero_field_id>NOT NULLREFERENCES zkapp_field(id);
40
42
```
41
43
42
-
### Migration History Tracking
44
+
This expansion allows zkApps to store up to 31 state elements instead of the previous 8, significantly increasing the state storage capacity for complex smart contracts.
43
45
44
-
The upgrade introduces a new `migration_history` table to track database schema migrations. This helps manage future upgrades and prevents applying the same migration multiple times.
The upgrade introduces a new `version` table to keep track of the database schema version. The purpose of this table is to help with future database migrations. The table tracks which migration scripts were applied and when.
-**Version identification**: Easily identify the current database schema version
68
63
69
-
The migration script uses protocol version '3.0.0' for Berkeley and '4.0.0' for Mesa, with built-in safety checks to prevent reapplying migrations or running them on incorrect database versions.
64
+
The table is created if it does not exist already. Rollback and upgrade scripts will insert a new row with the version number and timestamp when the script was applied.
Copy file name to clipboardExpand all lines: docs/mesa-upgrade/requirements.mdx
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,9 +2,9 @@
2
2
title: Requirements
3
3
sidebar_label: Requirements
4
4
hide_title: true
5
-
description: Berkeley upgrade is a major upgrade that requires all nodes in a network to upgrade to a newer version. It is not backward compatible.
5
+
description: Mesa upgrade is a major upgrade that requires all nodes in a network to upgrade to a newer version. It is not backward compatible.
6
6
keywords:
7
-
- Berkeley
7
+
- Mesa
8
8
- upgrade
9
9
- hardware requirements
10
10
---
@@ -30,7 +30,7 @@ Please note the following are the hardware requirements for each node type after
30
30
31
31
:::caution
32
32
33
-
If you have `mina-generate-keypair` installed, you will need to first `sudo apt remove mina-generate-keypair` before installing `mina-mainnet=3.1.0-ae112d3`.
33
+
If you have `mina-generate-keypair` installed, you will need to first `sudo apt remove mina-generate-keypair` before installing `mina-mainnet=4.0.0`.
34
34
The `mina-generate-keypair` binary is now installed as part of the mina-mainnet package.
Copy file name to clipboardExpand all lines: docs/mesa-upgrade/upgrade-steps.mdx
+10-10Lines changed: 10 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,31 +25,31 @@ Below it's the description in detail of all the upgrade steps and what which nod
25
25
- Review the [upgrade readiness checklist](https://docs.google.com/document/d/1rTmJvyaK33dWjJXMOSiUIGgf8z7turxolGHUpVHNxEU/edit#heading=h.2hqz0ixwjk3f) to confirm they have covered the required steps.
26
26
- Upgrade their nodes to the 3.2.0 stable version
27
27
- Ensure servers are provisioned to run Mesa nodes, meeting the new hardware requirements
28
-
- Upgrade their nodes to the node version [3.0.3](https://github.com/MinaProtocol/mina/releases/tag/3.0.3), with stop-slots, when this version becomes available
28
+
- Upgrade their nodes to the node version [4.0.0](https://github.com/MinaProtocol/mina/releases/tag/4.0.0), with stop-slots, when this version becomes available
29
29
- Run upgrade script for the archive node if they run archive nodes and wish to upgrade in a decentralized manner
30
30
31
-
**Please note:** a simplified Node Status service will be part of the upgrade tooling and enabled by default in Pre-Upgrade release with the stop-slots ([3.0.3](https://github.com/MinaProtocol/mina/releases/tag/3.0.3)). This feature will allow for a safe upgrade by monitoring the amount of upgraded active stake. Only non-sensitive data will be reported. If operators are not comfortable sharing their node version, they will have the option to disable the node version reports by using the appropriate node flag `--node-stats-type none`
31
+
**Please note:** a simplified Node Status service will be part of the upgrade tooling and enabled by default in Pre-Upgrade release with the stop-slots ([4.0.0](https://github.com/MinaProtocol/mina/releases/tag/4.0.0)). This feature will allow for a safe upgrade by monitoring the amount of upgraded active stake. Only non-sensitive data will be reported. If operators are not comfortable sharing their node version, they will have the option to disable the node version reports by using the appropriate node flag `--node-stats-type none`
32
32
33
33
### Block Producers and SNARK Workers
34
34
1. Review the [upgrade readiness checklist](https://docs.google.com/document/d/1rTmJvyaK33dWjJXMOSiUIGgf8z7turxolGHUpVHNxEU).
35
-
1. Provision servers that meet the minimum hardware requirements, including the new 32GB RAM requirement and support for _AVX_ and _BMI2_ CPU instructions.
36
-
1. Upgrade nodes to node version [3.0.3](https://github.com/MinaProtocol/mina/releases/tag/3.0.3) ([3.0.3](https://github.com/MinaProtocol/mina/releases/tag/3.0.3) has built-in stop slots).
35
+
1. Provision servers that meet the minimum hardware requirements, including 32GB RAM and support for _AVX_ and _BMI2_ CPU instructions.
36
+
1. Upgrade nodes to node version [4.0.0](https://github.com/MinaProtocol/mina/releases/tag/4.0.0) ([4.0.0](https://github.com/MinaProtocol/mina/releases/tag/4.0.0) has built-in stop slots).
37
37
38
38
### Archive Node Operators and Rosetta Operators
39
39
- Two upgrade processes will be available to archive node operators: _trustless_ and _trustful_. If the archive node operator wants to perform the _trustless_ migration, they should follow these steps; otherwise, proceed to the Upgrade phase. The _trustful_ migration will rely on o1Labs database exports and Docker images to migrate the archive node database and doesn’t require any actions at this stage.
40
40
41
41
1. Trustless migration:
42
42
- Perform the archive node 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.
43
43
- For more information on the archive node upgrade process, please refer to the [Archive Upgrade](/mesa-upgrade/archive-upgrade) section.
44
-
2. Upgrade all nodes to the latest stable version [3.0.3](https://github.com/MinaProtocol/mina/releases/tag/3.0.3).
45
-
3. Provision servers that meet the minimum hardware requirements, primarily the new 32GB RAM requirement.
44
+
2. Upgrade all nodes to the latest stable version [4.0.0](https://github.com/MinaProtocol/mina/releases/tag/4.0.0).
45
+
3. Provision servers that meet the minimum hardware requirements, primarily 32GB RAM.
46
46
4. Upgrade their nodes to the version that includes built-in stop slots before the pre-defined _stop-transaction-slot_.
47
47
48
48
### Exchanges
49
49
1. Make sure to test your system integration with Mesa's new features. Pay special attention to:
50
50
- If you rely on the archive node SQL database tables, please review the schema changes in Appendix 1 of this document.
51
-
2. Upgrade all nodes to the latest stable version [3.0.3](https://github.com/MinaProtocol/mina/releases/tag/3.0.3).
52
-
3. Provision servers that meet the minimum hardware requirements, particularly the new 32GB RAM requirement.
51
+
2. Upgrade all nodes to the latest stable version [4.0.0](https://github.com/MinaProtocol/mina/releases/tag/4.0.0).
52
+
3. Provision servers that meet the minimum hardware requirements, particularly 32GB RAM.
53
53
4. Upgrade your nodes to the version that includes built-in stop slots before the pre-defined _stop-transaction-slot_.
54
54
55
55
***
@@ -83,7 +83,7 @@ Remember that although you might be able to submit transactions, the majority of
83
83
## Upgrade
84
84
85
85
- Starting at the _stop-network-slot_ the network will not produce nor accept new blocks, resulting in halting the network. During the upgrade period, o1Labs will use automated tooling to export the network state based on the block at the slot just before the _stop-transaction-slot_. The exported state will then be baked into the new Mesa build, which will be used to initiate the upgraded network. It is during the upgrade windows that the Mesa network infrastructure will be bootstrapped, and seed nodes will become available. o1Labs will also finalize the archive node migration and publish the PostgreSQL database dumps for import by the archive node operators who wish to bootstrap their archives in a trustful manner.
86
-
- There is a tool available to validate that the Mesa node was built from the pre-upgrade network state. To validate, follow the instructions provided in this [location](https://github.com/MinaProtocol/mina/blob/berkeley/docs/upgrading-to-berkeley.md)
86
+
- There is a tool available to validate that the Mesa node was built from the pre-upgrade network state. To validate, follow the instructions provided in this [location](https://github.com/MinaProtocol/mina/blob/mesa/docs/upgrading-to-mesa.md)
87
87
88
88
### Block Producers and SNARK Workers
89
89
1. During the upgrade phase (between _stop-network-slot_ and the publishing of the Mesa release), block producers can shut down their nodes.
@@ -109,7 +109,7 @@ There will be both Docker images and archive node releases available to choose f
109
109
## Post-Upgrade
110
110
- At approximately 1 hour after the publishing of the Mesa node release, at a predefined slot (Mesa genesis timestamp), block production will start, and the network is successfully upgraded.
111
111
- Node operators can monitor their nodes and provide feedback to the technical team in case of any issues. Builders can start deploying zkApps.
112
-
-**Please note:** The Node Status service will not be enabled by default in the Mesa release. If you wish to provide Node Status and Error metrics and reports to Mina Foundation, helping monitor the network in the initial phase, please use the following flags when running your nodes:
112
+
-**Please note:** The Node Status service will not be enabled by default in the Mesa release. If you wish to provide Node Status and Error metrics and reports to o1Labs, helping monitor the network in the initial phase, please use the following flags when running your nodes:
0 commit comments