Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Major upgrade #1

Closed
wants to merge 307 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
307 commits
Select commit Hold shift + click to select a range
c5e1f4b
remove banner and use second person pronoun
barriebyron Jan 31, 2024
4a8fc92
remove banner
barriebyron Jan 31, 2024
fb5a3dd
remove banner
barriebyron Jan 31, 2024
07c3196
remove banner
barriebyron Jan 31, 2024
ca74106
remove banner
barriebyron Jan 31, 2024
e69df44
remove banner
barriebyron Jan 31, 2024
40c90cd
remove banner
barriebyron Jan 31, 2024
2f47e7d
remove banner
barriebyron Jan 31, 2024
b135427
remove banner
barriebyron Jan 31, 2024
3a789cd
remove banner
barriebyron Jan 31, 2024
c833f59
remove banner
barriebyron Jan 31, 2024
5271075
remove banner
barriebyron Jan 31, 2024
fdc8250
remove banner
barriebyron Jan 31, 2024
ccdf7be
remove banner
barriebyron Jan 31, 2024
77415f2
remove banner
barriebyron Jan 31, 2024
b797ac9
remove banners
barriebyron Jan 31, 2024
a5d00b1
remove banner
barriebyron Jan 31, 2024
7488f85
remove banner
barriebyron Jan 31, 2024
507d732
remove banner
barriebyron Jan 31, 2024
711535e
remove banner
barriebyron Jan 31, 2024
57eb005
remove banner
barriebyron Jan 31, 2024
cba54cc
remove banner
barriebyron Jan 31, 2024
18ec7e8
remove banner
barriebyron Jan 31, 2024
9df5045
remove banner
barriebyron Jan 31, 2024
86ae8ff
remove banner
barriebyron Jan 31, 2024
b047213
remove banner
barriebyron Jan 31, 2024
a1d35b8
remove banner
barriebyron Jan 31, 2024
d621965
remove banner
barriebyron Jan 31, 2024
1191b35
remove banner and duplicate heading
barriebyron Jan 31, 2024
884ad00
remove banner
barriebyron Jan 31, 2024
1ddc1d0
remove banner
barriebyron Jan 31, 2024
1b18e1b
remove banner
barriebyron Jan 31, 2024
b2d9717
add banner here and interact with mina only
barriebyron Jan 31, 2024
cc23009
remove banner
barriebyron Jan 31, 2024
65cafb6
add banner here and in deploy tutorial only
barriebyron Jan 31, 2024
8f515b0
restore original, will do in a new PR
barriebyron Jan 31, 2024
ed7d8b4
remove unrelated updates
barriebyron Jan 31, 2024
7836596
remove unrelated changes
barriebyron Jan 31, 2024
b521ac4
remove unrelated changes
barriebyron Jan 31, 2024
0bd21d7
restore original
barriebyron Jan 31, 2024
94a6aa8
Apply suggestions from code review
qwadratic Feb 5, 2024
249323b
Merge pull request #819 from qwadratic/zk-app-limit-banner
barriebyron Feb 5, 2024
5675fe4
Update docs/exchange-operators/rosetta/build-from-sources.mdx
barriebyron Feb 5, 2024
ccb3750
make one index for all exch ops section
Feb 5, 2024
abf0df9
change link to archive-node to avoid potential conflict with pr #815
qwadratic Feb 5, 2024
e83f1b0
Improvements on tutorial-08
kadirchan Jan 18, 2024
d58fbc6
Correction of some part of codes
kadirchan Jan 18, 2024
1747907
prep how-zkapps-work for HF audit
barriebyron Jan 19, 2024
b6899f3
change sidebar title
barriebyron Jan 19, 2024
994ac01
zkApp CLI
barriebyron Jan 19, 2024
c723c70
updates to FAQ, troubleshooting, moved logging and updates to index f…
Jan 23, 2024
2d64d0b
update node operators for upgrade
Jan 28, 2024
6db2e53
:white_check_mark: Tested with latest version and updated the docs
LuffySama-Dev Jan 22, 2024
700c88a
:memo: Minor suggested changes
LuffySama-Dev Jan 23, 2024
56f43dd
:white_check_mark: Audited with latest version and updated Readme
LuffySama-Dev Jan 20, 2024
28eeb12
:memo: Minor change
LuffySama-Dev Jan 20, 2024
5c28f47
:memo: minor changes as per comment in pr #805
LuffySama-Dev Jan 23, 2024
43d4e69
:white_check_mark: Tested with latest version, updated readme
LuffySama-Dev Jan 19, 2024
750cea6
:white_check_mark: Updated and tested as per requested changes
LuffySama-Dev Jan 20, 2024
a212642
:white_check_mark: Updated and tested as per requested changes
LuffySama-Dev Jan 20, 2024
4c44087
:memo: Added steps and tried to optimise Readme
LuffySama-Dev Jan 20, 2024
89e114c
:memo: Final update
LuffySama-Dev Jan 20, 2024
5b70f78
:memo: minor change as per comment in pr #805
LuffySama-Dev Jan 23, 2024
1f62d2b
remove example that suggests vulnerable code
mitschabaude Jan 15, 2024
ef652d3
Create security page
drea-rodriguez Jan 24, 2024
2c9f3e0
Update docs/about-mina/security
drea-rodriguez Jan 25, 2024
389ad4b
Update docs/about-mina/security
drea-rodriguez Jan 25, 2024
980e4a3
Update docs/about-mina/security
drea-rodriguez Jan 25, 2024
23127e1
add security to sidebar, rename to .mdx, link from FAQ
barriebyron Jan 25, 2024
ba15e6d
Update security.mdx
drea-rodriguez Jan 25, 2024
c4306b2
Update docs/about-mina/security.mdx
barriebyron Jan 25, 2024
67474e4
WIP draft of lightnet
barriebyron Dec 13, 2023
1b6ef76
WIP for lightnet
barriebyron Dec 15, 2023
1bf2993
introduce lightnet, change local blockchain to simulated local blockc…
barriebyron Jan 4, 2024
0a874fc
explainer page for Lightnet, w/ usage, overview, benefits
barriebyron Jan 5, 2024
40af62e
clarify how we talk about the simulated local blockchain
barriebyron Jan 5, 2024
bb3e365
rename testing pages and related link test, add redirects, update sid…
barriebyron Jan 19, 2024
8a2c653
moved how to test to a specific testing locally topic
barriebyron Jan 19, 2024
8c89c6e
explainer and how to Lightnet subcommands
barriebyron Jan 19, 2024
09680a8
Lightnet testing updates for terminology and high-level workflow
barriebyron Jan 19, 2024
7f49fce
fix broken links after topic rename
barriebyron Jan 19, 2024
64ffb42
integrate Lightnet into high level getting started
barriebyron Jan 24, 2024
52ec8e1
get latest from main
barriebyron Jan 24, 2024
53693c1
prerequisite versions fix and Lightnet work with Serhii
barriebyron Jan 24, 2024
653e25b
improvements, edits, and suggestions from code review
barriebyron Jan 25, 2024
d885bd4
remove duplicate topic
barriebyron Jan 25, 2024
6b3dc92
remove duplicate topic
barriebyron Jan 25, 2024
587ca29
restore missing entries
barriebyron Jan 25, 2024
17a993b
review suggestions
barriebyron Jan 25, 2024
ce84582
ready for next review round
barriebyron Jan 25, 2024
46e4adf
minor updates for style
barriebyron Jan 25, 2024
b745eb5
rename link to match new file
barriebyron Jan 25, 2024
1b7a66d
Update docs/node-operators/archive-nodes/getting-started.mdx
halsaphi Jan 31, 2024
2635687
Update docs/node-operators/archive-nodes/getting-started.mdx
halsaphi Jan 31, 2024
998e7b3
Update docs/node-operators/archive-nodes/getting-started.mdx
halsaphi Jan 31, 2024
4ec018f
Update docs/node-operators/block-producer-node/getting-started.mdx
halsaphi Jan 31, 2024
c3d02fd
Update docs/node-operators/block-producer-node/getting-started.mdx
halsaphi Jan 31, 2024
5d752fa
Update docs/node-operators/snark-workers/index.mdx
halsaphi Jan 31, 2024
f9b6790
Update docs/node-operators/block-producer-node/getting-started.mdx
halsaphi Jan 31, 2024
ec4c604
Update docs/node-operators/troubleshooting.mdx
halsaphi Jan 31, 2024
49e90d7
Update docs/node-operators/troubleshooting.mdx
halsaphi Jan 31, 2024
97798e0
Update docs/node-operators/troubleshooting.mdx
halsaphi Jan 31, 2024
175aace
Update docs/node-operators/troubleshooting.mdx
halsaphi Jan 31, 2024
66e2799
Update docs/node-operators/block-producer-node/getting-started.mdx
halsaphi Jan 31, 2024
782673b
Update docs/node-operators/data-and-history/index.mdx
halsaphi Jan 31, 2024
1e5a90f
Update docs/node-operators/data-and-history/index.mdx
halsaphi Jan 31, 2024
e6c21d5
Update docs/node-operators/data-and-history/index.mdx
halsaphi Jan 31, 2024
910259d
Update docs/node-operators/faq.mdx
halsaphi Jan 31, 2024
9cd44ff
Update docs/node-operators/faq.mdx
halsaphi Jan 31, 2024
ac3c482
Update docs/node-operators/faq.mdx
halsaphi Jan 31, 2024
52ccbb9
Update docs/node-operators/faq.mdx
halsaphi Jan 31, 2024
3faa2dc
Update docs/node-operators/faq.mdx
halsaphi Jan 31, 2024
61eef45
Update docs/node-operators/faq.mdx
halsaphi Jan 31, 2024
dadbc91
Update docs/node-operators/faq.mdx
halsaphi Jan 31, 2024
d1b4999
Update docs/node-operators/faq.mdx
halsaphi Jan 31, 2024
be62620
Update docs/node-operators/generating-a-keypair.mdx
halsaphi Jan 31, 2024
d6ac70f
Update docs/node-operators/generating-a-keypair.mdx
halsaphi Jan 31, 2024
d62e03c
Update docs/node-operators/seed-peers/index.mdx
halsaphi Jan 31, 2024
2246102
Update docs/node-operators/seed-peers/index.mdx
halsaphi Jan 31, 2024
43ceb3e
Update docs/node-operators/snark-workers/getting-started.mdx
halsaphi Jan 31, 2024
a63d9dd
Update docs/node-operators/snark-workers/getting-started.mdx
halsaphi Jan 31, 2024
9e7204b
Update docs/node-operators/snark-workers/getting-started.mdx
halsaphi Jan 31, 2024
18cbbf3
Update docs/node-operators/snark-workers/getting-started.mdx
halsaphi Jan 31, 2024
7c38305
Update docs/node-operators/snark-workers/getting-started.mdx
halsaphi Jan 31, 2024
6634f6a
Update docs/node-operators/snark-workers/getting-started.mdx
halsaphi Jan 31, 2024
61c66e3
updates after review - added About to indexes, reverted some text, ti…
Jan 31, 2024
c251b69
Apply Barrie's suggestions from code review
barriebyron Jan 31, 2024
2d71535
add name to getting started, fix broken link in zkApps
Feb 1, 2024
a428b82
removing ticks round mina daemon
Feb 1, 2024
7076208
fixing sidebar with sidebar_label
Feb 1, 2024
0a2da36
always one # for page heading
barriebyron Feb 1, 2024
aa36eba
always # heading 1
barriebyron Feb 1, 2024
7247e1d
descriptive page heading
barriebyron Feb 1, 2024
a82406a
always # heading 1 for page title, use descriptive page title
barriebyron Feb 1, 2024
cb9f06f
always heading 1 for page title, descriptive page title
barriebyron Feb 1, 2024
8a3886e
revert change for link to archive node
barriebyron Feb 1, 2024
1eed8b9
use short link for doc
barriebyron Feb 2, 2024
546e1ee
update archive-nodes to archive-node as requested
Feb 5, 2024
83e699c
Merge pull request #814 from qwadratic/exch-operators-update
barriebyron Feb 5, 2024
3f36d32
Merge branch 'major-upgrade' into rebase-major-upgrade-1
barriebyron Feb 5, 2024
1c8600c
Merge pull request #832 from o1-labs/rebase-major-upgrade-1
barriebyron Feb 5, 2024
3e9ff47
Merge pull request #807 from o1-labs/archive_migration
barriebyron Feb 7, 2024
78cc5d9
Fixes for archive migration documentation.
Feb 26, 2024
48a6aa6
Update docs/berkeley-upgrade/migrating-archive-database-to-berkeley.mdx
dkijania Feb 26, 2024
391c0ea
Apply suggestions from code review
dkijania Feb 26, 2024
d1ad6fd
applied review fixes to documentation
Feb 27, 2024
2763e85
Merge remote-tracking branch 'origin/archive_migration' into archive_…
Feb 27, 2024
239c7b7
fix debian version
Feb 27, 2024
5a0c02f
Merge pull request #866 from o1-labs/archive_migration
dkijania Feb 27, 2024
cfe27e1
resolve conflicts to Merge branch 'main' into major-upgrade
barriebyron Mar 4, 2024
fc77c44
resolve conflict for changed heading
barriebyron Mar 4, 2024
08d70b2
updates after Salah's review
Mar 6, 2024
c3b1cf9
new why mina text approved by Salah
Mar 6, 2024
8ee4e00
merging Ivan's changes
Mar 6, 2024
7ee04bd
Update docs/about-mina/faq.mdx
halsaphi Mar 7, 2024
a285fc3
Update docs/about-mina/index.mdx
halsaphi Mar 7, 2024
eef87a3
Update docs/about-mina/index.mdx
halsaphi Mar 7, 2024
233bdb7
Update docs/about-mina/index.mdx
halsaphi Mar 7, 2024
74db1f0
Update docs/berkeley-upgrade/planning-archive-migration.mdx
halsaphi Mar 7, 2024
c4530b9
Merge pull request #878 from halsaphi/major-upgrade-phil
barriebyron Mar 7, 2024
616b9d4
fixing --block-bucket parameter
Feb 28, 2024
2fe883a
fixed docs after UMT feedback
Mar 7, 2024
f2e1d2d
berkeley-migration app
barriebyron Mar 8, 2024
59faddb
update delegation program docs - removing super charged rewards
Mar 10, 2024
0bd5d94
tweaking the maths signs
Mar 10, 2024
24d163a
typo fix to Update foundation-delegation-program.mdx
barriebyron Mar 11, 2024
a563857
Merge pull request #882 from halsaphi/major-upgrade-phil-dp
barriebyron Mar 11, 2024
62f8939
Improve archive node section
trevorbernard Mar 13, 2024
54e2940
Correct Archive Node version
trevorbernard Mar 13, 2024
6d423c6
quick fix
barriebyron Mar 14, 2024
449eb0e
Merge pull request #884 from trevorbernard/archive-node-doc-improvements
barriebyron Mar 14, 2024
89eb9b8
Merge branch 'main' into major-upgrade
Mar 14, 2024
2993ae3
fix typo - extra ]
Mar 14, 2024
d742042
Merge pull request #885 from halsaphi/major-upgrade-phil-merge-main-a…
ymekuria Mar 14, 2024
2f60e22
update to archive node docs after discord feedback
Mar 15, 2024
c54dba7
Update docs/node-operators/archive-node/getting-started.mdx
halsaphi Mar 19, 2024
0e9aa1d
Merge pull request #887 from halsaphi/major-upgrade-archive-node
barriebyron Mar 19, 2024
25132a0
fix heading typo
Mar 20, 2024
b07f081
better fix of type
Mar 20, 2024
3e577b6
Merge pull request #888 from halsaphi/major-upgrade-heading-typo
barriebyron Mar 20, 2024
9c2ee28
update to links to ddl script - temp fix, making --archive-address cl…
Mar 22, 2024
f2b8122
Another pack of of docs fixes
Mar 25, 2024
7f2d725
Merge remote-tracking branch 'origin/archive_migration' into archive_…
Mar 25, 2024
12ad287
Merge branch 'major-upgrade' into archive_migration
dkijania Mar 25, 2024
74099c4
Addressing review comments:
Mar 28, 2024
1746c75
replace mainnet with devnet/mainnet
deepthiskumar Mar 29, 2024
b48d013
Apply suggestions from code review
emberian Mar 29, 2024
496bfb1
Apply suggestions from code review
emberian Mar 29, 2024
bd72fb8
Add worked example
emberian Mar 29, 2024
31b90f7
-"
emberian Mar 29, 2024
2a913db
reorganize a bit
emberian Mar 29, 2024
3e2681d
who knows
emberian Mar 29, 2024
a1b6128
Revert "who knows"
emberian Mar 29, 2024
f17493c
confine links to index.md which prolly works
emberian Mar 29, 2024
f9c5fd5
debian:11 is sparse
emberian Mar 29, 2024
41b9ed1
some edits, fixing typos
deepthiskumar Mar 29, 2024
656509a
Merge branch 'archive_migration' of github.com:o1-labs/docs2 into arc…
deepthiskumar Mar 29, 2024
37b1739
mkdir -p is more robust
emberian Mar 29, 2024
1bfb9dc
proper order of sdk and mina
emberian Apr 1, 2024
5cebe55
link to example in summary page
emberian Apr 1, 2024
6be7c4a
editorial grooming for archive-migration-installation.mdx
barriebyron Apr 1, 2024
4013c56
update debian channel and version
Apr 1, 2024
75b75a1
editorial grooming for archive-migration-prerequisites.mdx
barriebyron Apr 1, 2024
c310aa4
editorial grooming of index.mdx
barriebyron Apr 1, 2024
7bf33e6
remove the extra hyphen
Apr 1, 2024
8a41f4e
Updates for mainnet-database-maintenance.mdx
barriebyron Apr 1, 2024
0798b55
Merge branch 'archive_migration' of github.com:o1-labs/docs2 into arc…
Apr 1, 2024
2ab993f
update fork-config-file
Apr 1, 2024
4e8aeea
remove the question on receipt chain hash as they are the same now
Apr 1, 2024
6c12ee7
this is fixed by nathan's optimization, so this is no longer happening
Apr 1, 2024
f0f517a
sidebar gets it
emberian Apr 1, 2024
491fcc4
apply self-describing links for re-organized migration docs
barriebyron Apr 2, 2024
0014ed3
Merge branch 'archive_migration' of github.com:o1-labs/docs2 into arc…
barriebyron Apr 2, 2024
03e38e0
update the version
Apr 2, 2024
c0094df
consistency edits for clarity, structure, readability
barriebyron Apr 2, 2024
268d776
pull changes from GitHub Merge branch 'archive_migration' of github.c…
barriebyron Apr 2, 2024
1895d78
to be consistent with network
Apr 2, 2024
e6b3f4f
mina-migration-replayer to mina-replayer
Apr 2, 2024
abbd78b
address inconsistency with the doc
Apr 2, 2024
3703823
editorial review and fixes complete, see questions in PR
barriebyron Apr 2, 2024
540e0b6
Merge branch 'archive_migration' of github.com:o1-labs/docs2 into arc…
barriebyron Apr 2, 2024
ef25d51
fix some wording of migration
Apr 2, 2024
f83d85f
Merge branch 'archive_migration' of github.com:o1-labs/docs2 into arc…
Apr 2, 2024
5fd3fa3
make all commands to be consistently
Apr 2, 2024
87ff1d8
make config file to be consistent
Apr 2, 2024
a6d1f6a
make all flags to be consistent
Apr 2, 2024
7c64b0d
remove the unwanted section
Apr 2, 2024
9031a5f
update the version
Apr 2, 2024
f6014ca
apt update before install
emberian Apr 3, 2024
25906a0
Merge pull request #889 from halsaphi/arhive-node-tweaks
barriebyron Apr 3, 2024
28ac284
devnet DB requiring extensional blocks
deepthiskumar Apr 4, 2024
8920a51
add docs for new flags
Apr 16, 2024
56ac4c7
Merge branch 'archive_migration' of github.com:o1-labs/docs2 into arc…
Apr 16, 2024
12e026a
Merge pull request #881 from o1-labs/archive_migration
emberian Apr 17, 2024
2fb5be1
Remove duplicated example for archive migration
Apr 17, 2024
c6608db
fix the doc
Apr 17, 2024
526173a
no --fork-state-hash any more
Apr 17, 2024
1896869
Merge pull request #907 from o1-labs/fix-migration
ghost-not-in-the-shell Apr 17, 2024
6c2e2c4
Merge branch 'major-upgrade' into remove_duplicated_exmple_in_archive…
dkijania Apr 17, 2024
810dade
issue -> issues
Apr 17, 2024
91f29cb
Update tooling versions and add information about --block-batch-size …
Apr 19, 2024
73122d6
Update known issues
Apr 30, 2024
98166c2
Fix versions for migration tooling
Apr 30, 2024
d369c53
Merge pull request #906 from o1-labs/remove_duplicated_exmple_in_arch…
dkijania May 1, 2024
3270274
Updated berkeley block
May 1, 2024
bb9238d
added sub section for Ledger proof statemen
May 1, 2024
0048883
Merge pull request #922 from o1-labs/update_whats_in_the_block
dkijania May 6, 2024
15edec1
Update Seed Peers Introduction
kaozenn May 10, 2024
148c406
Update O(1) Labs references to o1Labs
kaozenn May 10, 2024
14dbbed
Merge pull request #945 from MinaFoundation/update-o1Labs-references
shimkiv May 10, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 9 additions & 11 deletions docs/about-mina/faq.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Mina FAQ
description: Frequently asked questions about Mina Protocol.
keywords:
keywords:
- mina faq
- mina language
- zkapp language
Expand All @@ -16,25 +16,21 @@ Answers to frequently asked questions about Mina Protocol.

### What language is Mina written in?

The Mina node is written in OCaml. You don't need to know OCaml to write smart contracts for Mina.
The Mina node is written in OCaml and Rust. You don't need to know OCaml/Rust to write smart contracts for Mina.

### What language are zkApp smart contracts written in?

Mina's zero knowledge smart contracts (zkApps) are written in TypeScript.

See [How to write a zkApp](/zkapps/how-to-write-a-zkapp).

### How large is the Mina Blockchain?

22 KB

### Given Mina is only 22 KB, where are past transactions stored?
### Where are past transactions stored?

A Mina node can run with an optional flag to make it an archive node to store historical transactions. Archive nodes are useful for anyone running a service, such as a block explorer. Still, this historical data is not required to verify the current consensus state of the protocol.

### What zero knowledge (zk) proof system does Mina use?

Mina Protocol uses a custom proof system called Kimchi, developed by [O(1) Labs](https://o1labs.org/). Mina is the only blockchain offering infinite recursion.
Mina Protocol uses a custom proof system called Kimchi, developed by [o1Labs](https://o1labs.org/). Mina is the only blockchain offering infinite recursion.

Check out the [Mina Book](https://o1-labs.github.io/proof-systems/plonk/overview.html) to learn more about Kimchi and the cryptography powering Mina Protocol.

Expand All @@ -50,9 +46,11 @@ Mina's consensus mechanism is an implementation of Ouroboros proof of stake. Due

Yes, check out these block explorers:

- https://minataur.net
- https://minaexplorer.com
- https://minascan.io
- [Mina Explorer](https://minaexplorer.com/)
- [MinaScan](https://minascan.io/)
- [MinaSearch](https://minasearch.com/) (in development by Granola)
- [Minataur](https://minataur.net/)
- [Minaverse](https://minaverse.xyz/)

### How does Mina achieve scalability?

Expand Down
11 changes: 7 additions & 4 deletions docs/about-mina/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,14 @@ Mina is an L1 blockchain based on zero knowledge proofs (ZKP) with smart contrac

## Why Mina?

Mina Protocol uses zero knowledge proofs to build a more ideal blockchain architecture.
The Mina Protocol is a native ZK blockchain, but what does this mean? The Mina Protocol is a layer 1 blockchain built to use zero knowledge proofs. The Mina Protocol uses zk-SNARKS.

Early blockchains, like Bitcoin and Ethereum, accumulate data over time and are currently hundreds of gigabytes in size. As time goes on, their blockchains will continue to increase in size. The entire chain history is required to verify the current consensus state of these networks.
Some advantages of this approach are:

With Mina, the blockchain always remains a constant size — about 22KB (the size of a few tweets). It's possible to verify the current consensus state of the protocol using this one recursive, 22KB zero knowledge proof. This means participants can quickly sync and verify the current consensus state of the network.
- A succinct blockchain that facilitates decentralization. The lightweight design allows a node to sync faster and reduces both storage and bandwidth requirements for [node operators](../node-operators).
- Zero knowledge proofs are used to secure the blockchain. Using recursive zk-SNARKs, the blockchain remains a constant size — about 22 KB.
Client-side code execution: zkApps run code on the client, helping to scale blockchain technology. Client-side code execution generates zk-SNARKS (proofs) to prove correct execution. Transactions send these proofs to the blockchain and are verified on-chain.
- Privacy by default, protect your data using zero knowledge proofs.

Learn more about Mina's unique [protocol architecture](about-mina/protocol-architecture).

Expand All @@ -32,7 +35,7 @@ Learn more in this video about [zero knowledge proofs](about-mina/what-are-zero-

## What are zkApps?

Mina's zero knowledge smart contracts are referred to as zkApps. zkApps provide powerful and unique characteristics such as unlimited off-chain execution, privacy for private data inputs that are never seen by the blockchain, the ability to write smart contracts in TypeScript, and more.
Mina's zero knowledge smart contracts, known as zkApps, offer distinct features, including off-chain proving, extensive off-chain execution capabilities, on-chain verification, privacy for confidential data (private inputs, by default, are not sent to the blockchain), the option to code smart contracts in TypeScript, and additional functionalities.

See [zkApps Overview](/zkapps).

Expand Down
2 changes: 1 addition & 1 deletion docs/about-mina/what-are-zero-knowledge-proofs.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,6 @@ import ResponsiveVideo from '@site/src/components/common/ResponsiveVideo';

Zero knowledge proofs keep Mina's blockchain light and your personal data private.

In this video, Brandon from <a href="https://o1labs.org/">O(1) Labs</a> explains what zero knowledge proofs are by comparing them to the game of "Where's Waldo?". Learn what zero knowledge proofs are, how they work, and their importance to Mina and the greater crypto community.
In this video, Brandon from <a href="https://o1labs.org/">o1Labs</a> explains what zero knowledge proofs are by comparing them to the game of "Where's Waldo?". Learn what zero knowledge proofs are, how they work, and their importance to Mina and the greater crypto community.

<ResponsiveVideo src="https://www.youtube.com/embed/GvwYJDzzI-g" />
151 changes: 151 additions & 0 deletions docs/berkeley-upgrade/archive-migration-installation.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
---
title: Installing the archive migration package
sidebar_label: Installing archive migration package
hide_title: false
description: Satisfying the archive migration prerequisites.
keywords:
- Berkeley
- upgrade
- archive migration
- installing
- prerequisites
- mina archive node
- archive node
---

The archive node Berkeley migration package is sufficient for satisfying the migration from Devnet/Mainnet to Berkeley.
However, it has some limitations. For example, the migration package does not migrate a non-canonical chain and it skips orphaned blocks that are not part of a canonical chain.

To mitigate these limitations, the archive node maintenance package is available for use by archive node operators who want to maintain a copy of their Devnet and Mainnet databases for historical reasons.

## Install with Google Cloud SDK

The Google Cloud SDK installer does not always register a `google-cloud-sdk` apt package. The best way to install gsutil is using the apt repostory:

```sh
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /usr/share/keyrings/cloud.google.gpg
echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
sudo apt-get update && sudo apt-get install google-cloud-sdk
```

## Download the o1labs Mainnet archive database

We strongly encourage you to perform the migration on your own data to preserve the benefits of decentralization. However, if you want to use the archive data that o1labs runs (for example, to bootstrap a new archive from SQL without waiting all day for the chain to download and replay), you can use the following steps:

1. Download the Devnet/Mainnet archive data using cURL or gsutil:

- cURL:

For Devnet:
```sh
curl https://storage.googleapis.com/mina-archive-dumps/devnet-archive-dump-{date}_0000.sql.tar.gz
```

For Mainnet:
```sh
curl https://storage.googleapis.com/mina-archive-dumps/mainnet-archive-dump-{date}_0000.sql.tar.gz
```

To filter the dumps by date, replace `{date}` using the required `yyyy-dd-mm` format. For example, for March 15, 2024, use `2024-03-15`.

:warning: The majority of backups have the `0000` suffix. If a download with that name suffix is not available, try incrementing it. For example, `0001`, `0002`, and so on.

- gsutil:

```sh
gsutil cp gs://mina-archive-dumps/mainnet-archive-dump-2024-01-15* .
```

2. Extract the tar package.

```sh
tar -xvzf {network}-archive-dump-{date}_0000.sql.tar.gz {network}-archive-dump-{date}_0000.sql
```

3. Import the Devnet/Mainnet archive dump into the Berkeley database.

Run this command at the database server:

```sh
psql -U {user} -f {network}-archive-dump-{date}_0000.sql
```

The database in the dump **archive_balances_migrated** is created with the Devnet/Mainnet archive schema.

Note: This database does not have any Berkeley changes.

## Ensure the location of Google Cloud bucket with the Devnet/Mainnet precomputed blocks

The recommended method is to perform migration on your own data to preserve the benefits of decentralization.

`gsutil cp gs://mina_network_block_data/{network}-*.json .`

:warning: Precomputed blocks for the Mainnet network take ~800 GB of disk space. Plan for adequate time to download these blocks. The Berkeley migration app downloads them incrementally only when needed.

## Validate the Devnet/Mainnet database

The correct Devnet/Mainnet database state is crucial for a successful migration.

[Missing blocks](/berkeley-upgrade/mainnet-database-maintenance#missing-blocks) is one the most frequent issues when dealing with the Devnet/Mainnet archive. Although this step is optional, it is strongly recommended that you verify the archive condition before you start the migration process.

To learn how to maintain archive data, see [Devnet/Mainnet database maintenance](/berkeley-upgrade/mainnet-database-maintenance).

## Download the migration applications

Migration applications are distributed as part of the archive migration Docker and Debian packages.

Choose the packages that are appropriate for your environment.

### Debian packages

To get the Debian packages:

```
CODENAME=bullseye
CHANNEL=stable
VERSION=3.0.1-e848ecb

echo "deb [trusted=yes] http://packages.o1test.net $CODENAME $CHANNEL" | tee /etc/apt/sources.list.d/mina.list
apt-get update
apt-get install --allow-downgrades -y "mina-archive-migration=$VERSION"
```

### Docker image

To get the Docker image:

```
docker pull gcr.io/o1labs-192920/mina-archive-migration:3.0.1-e848ecb-{codename}
```

Where supported codenames are:
- bullseye
- focal
- buster


## Devnet/Mainnet genesis ledger

The Mina Devnet/Mainnet genesis ledger is stored in GitHub in the `mina` repository under the `genesis_ledgers` subfolder. However, if you are already running a daemon that is connected to the Mina Mainnet or the Devnet network, you already have the genesis ledger locally.

## Berkeley database schema files

You can get the Berkeley schema files from different locations:

- GitHub repository from the `berkeley` branch.

Note: The `berkeley` branch can contain new updates regarding schema files, so always get the latest schema files instead of using an already downloaded schema.

- Archive/Rosetta Docker from `berkeley` version

### Example: Downloading schema sources from GitHub

```sh
wget https://raw.githubusercontent.com/MinaProtocol/mina/berkeley/src/app/archive/zkapp_tables.sql

wget https://raw.githubusercontent.com/MinaProtocol/mina/berkeley/src/app/archive/create_schema.sql
```

## Next steps

Congratulations on completing the essential preparation and verification steps. You are now ready to perform the migration steps in [Migrating Devnet/Mainnet Archive to Berkeley Archive](/berkeley-upgrade/migrating-archive-database-to-berkeley).
66 changes: 66 additions & 0 deletions docs/berkeley-upgrade/archive-migration-prerequisites.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
---
title: Archive migration prerequisites
sidebar_label: Archive migration prerequisites
hide_title: false
description: Overview of the migration tools and requirements to successfully migrate the Devnet/Mainnet archive database.
keywords:
- Berkeley
- upgrade
- archive migration
- planning
- prerequisites
- mina archive node
- archive node
---

To successfully migrate the archive database into the Berkeley version of the Mina network, you must ensure that your environment meets the foundational requirements.

## Migration host

- PostgreSQL database for database server
- If you use Docker, then any of the supported OS by Mina (bullseye, focal, or buster) with at least 32 GB of RAM
- gsutil application from Google Cloud Suite in version 5 or later
- (Optional) Docker in version 23.0 or later

## (Optional) Devnet/Mainnet database

One of the most obvious prerequisites is a Mainnet database.

If you don't have an existing database with Devnet/Mainnet archive data, you can always download it from the Google Cloud bucket. However, we strongly encourage you to perform migration on your own data to preserve the benefits of decentralization.
You can use any gsutil-compatible alternative to Google Cloud or a gsutil wrapper program.

## (Optional) Google Cloud bucket with Devnet/Mainnet precomputed blocks

Precomputed blocks are the JSON files that a correctly configured node updloads to the Google Cloud bucket.
The Devnet/Mainnet to Berkeley archive data migration requires access to precomputed blocks that are uploaded by daemons that are connected to the Devnet or Mainnet networks.

The **berkeley-migration** app uses the gsutil app to download blocks. If you didn't store precomputed blocks during the first phase of migration, you can use the precomputed blocks provided by Mina Foundation.
However, it is strongly recommended that you perform migration on your own data to preserve the benefits of decentralization.

For Devnet blocks:

```sh
gsutil cp gs://mina_network_block_data/devnet-*.json .
```

For Mainnet blocks:

```sh
gsutil cp gs://mina_network_block_data/mainnet-*.json .
```

:warning: Precomputed blocks for the Mainnet network take ~800 GB of disk space. Plan for adequate time to download these blocks. The Berkeley migration app downloads them incrementally only when needed. You can instead download a 100 GB bundle of only the canonical Mainnet blocks that unpacks into ~220 GB:

```sh
gsutil cp gs://mina_network_block_data/mainnet-bundle-2024-03-20.tar.zst . ; tar -xf mainnet-bundle-2024-03-20.tar.zst
```

:warning: Precomputed blocks for the Devnet network take several hundred GBs. Plan for adequate time to download these blocks. Instead, you can download a ~50 GB bundle of only the canonical Devnet blocks that unpacks into ~90 GB:

```sh
gsutil cp gs://mina_network_block_data/devnet-bundle-3NKRsRWBzmPR8Z8ZmJb4u8FLpnSkjRitUpKZzVkHp11QuwP5i839.tar.gz . ; tar -xf devnet-bundle-3NKRsRWBzmPR8Z8ZmJb4u8FLpnSkjRitUpKZzVkHp11QuwP5i839.tar.gz
```

These bundles are partial. Updated documentation with the new links and final data will be provided _after_ the Berkeley major upgrade is completed.

The best practice is to collect precomputed blocks by yourself or by other third parties to preserve the benefits of decentralization.
47 changes: 47 additions & 0 deletions docs/berkeley-upgrade/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
---
title: Berkeley Upgrade
sidebar_label: Berkeley Upgrade
hide_title: true
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.
keywords:
- Berkeley
- upgrade
- archive migration
- mina archive node
- archive node
---

# Berkeley Upgrade

The Berkeley upgrade is a major upgrade that requires all nodes in a network to upgrade to a newer version. It is not backward compatible.

A major upgrade occurs when there are major changes to the core protocol that require all nodes on the network to update to the latest software.

## How to prepare for the Berkeley upgrade

The Berkeley upgrade requires upgrading all nodes, including archive nodes. One of the required steps is to migrate archive databases from the current Mainnet format to Berkeley. This migration requires actions and efforts from node operators and exchanges.

Learn about the archive data migration:

- [Understanding the migration process](/berkeley-upgrade/understanding-archive-migration)
- [Prerequisites before migration](/berkeley-upgrade/archive-migration-prerequisites)
- [Suggested installation procedure](/berkeley-upgrade/archive-migration-installation)
- [How to perform archive migration](/berkeley-upgrade/migrating-archive-database-to-berkeley)

Finally, see the shell script example that is compatible with a stock Debian 11 container:

- [Worked example using March 22 data](/berkeley-upgrade/worked-archive-example)

## What will happen with original Devnet/Mainnet data

After the migration, you will have two databases:

- The original Devnet/Mainnet database with small data adjustments (all pending blocks from last canoncial block until the fork block are converted to canoncial blocks)
- A new Berkeley database based on Devnet/Mainnet data, but:
- Without Devnet/Mainnet orphaned blocks
- Without pending blocks that are not in the canonical chain
- With all pending blocks on the canonical chain converted to canonical blocks

There is no requirement to preserve the original Devnet/Mainnet database after migration. However, if for some reason you want to keep the Mainnet orphaned or non-canonical pending blocks, you can download the archive maintenance package for the Devnet/Mainnet database.

To learn about maintaining archive data, see [Devnet/Mainnet database maintenance](/berkeley-upgrade/mainnet-database-maintenance).
Loading
Loading