Mina's ecosystem partner, O(1) Labs, is continuously working on improvements to the core protocol and today we are excited to announce an updated unstable release 4a0fff9 that is ready to test on the Testworld 2.0 testnet!
Please report any issues in the comments on this post or tag any issues you create with Testworld-2-0-protocol-performance-testing
and include ITN RC3
in the issue title.
What changed
This release focuses on bug fixes & improvements that bring significant efficiency, performance and stability gains that we are excited to share with you.
Bug Fixes
- Base58Check for receipt chain hashes in account preconditions #14418
- Format last_vrf_output as Base64 #14462
- Function to preserve sign for 0 #14459
- Generate script to patch receipt chain hashes and last VRF output #14419
- Use generated field name for subchain queries in extract_blocks #14422
- Optimization: More memory-efficient scan state and staged ledger hashing #14524
- Fix libp2p helper concurrent writes by #14467
- support ci on forks #14596
- [rampup] Batch merkle path database accesses #14513
- Optimization: Avoid duplicating proofs during txn verification #14525
- Porting CI fixes from develop and berkeley #14638
- Field: More efficient conversion into Bignum_bigint.t #14599
- Batch account location lookups for sparse ledger #14522
- Batch merkle_path lookups in Sparse_ledger #14528
- Replace tables with maps in merkle masks #14595
- Use 'wide merkle paths' to optimize
Sparse_ledger.of_ledger_subset_exn
#14594 - Avoid ledger copy and mutation in
Sparse_ledger.of_ledger_subset_exn
#14587 - Allow merkle masks to handle empty accounts directly #14585
- Preload accounts into merkle path for staged ledger diff application #14571
- Performance improvement: fetch merkle paths from masks instead of disk #14570
- Batch account lookups for sparse ledger creation #14527
- Avoid slowdown when using multiple masks #14617
Complete CHANGELOG since 4061884 in:
GitHub Compare: 4061884...4a0fff9
O1JS CHANGELOG
https://github.com/o1-labs/o1js/blob/main/CHANGELOG.md
Installation
Supported environments include macOS, Linux (Debian 10, 11 and Ubuntu 20.04 LTS), and any host machine with Docker.
There is no schema change comparing to previous release candidate when installing Mina Archive node
Upgrading and Connecting to Testworld 2.0
Debian Packages
First, set up and update the rampup Debian Repository for your platform.
Replace CODENAME with the appropriate codename for your machine (focal
, buster
, or bullseye
), and run:
sudo rm /etc/apt/sources.list.d/mina*.list
echo "deb [trusted=yes] http://packages.o1test.net/ CODENAME rampup" | sudo tee /etc/apt/sources.list.d/mina-rampup.list
sudo apt-get update
Then, install the package or packages that you need:
- Mina Daemon
sudo apt-get install -y mina-berkeley=2.0.0rampup7-4a0fff9
- Mina Archive
sudo apt-get install -y mina-archive=2.0.0rampup7-4a0fff9
- zkApps Test Transaction CLI
sudo apt-get install -y mina-zkapp-test-transaction=2.0.0rampup7-4a0fff9
- zkApps Transaction CLI README
Docker Images
Every docker image is built for each of the supported platforms.
To select the base docker image, replace CODENAME with the codename appropriate for your machine (focal
, buster
, or bullseye
):
- Mina Daemon: gcr.io/o1labs-192920/mina-daemon:2.0.0rampup7-4a0fff9-CODENAME-berkeley
- Mina Archive: gcr.io/o1labs-192920/mina-archive:2.0.0rampup7-4a0fff9-CODENAME
Step-by-Step Guide
This version connects and functions only on the newly launched Testworld 2.0.
- Create a libp2p key pair for a node the first time and persist it.
mina libp2p generate-keypair -privkey-path <path-to-the-key-file>
- Set the environment variable
MINA_LIBP2P_PASS
with the password set for the libp2p key pair in the previous step. - Run mina daemon with:
-libp2p-keypair <path-to-the-key-file>
and--peer-list-url https://storage.googleapis.com/seed-lists/testworld-2-0_seeds.txt
and--itn-max-logs 10000
For more detailed information please check out our Testworld documentation.
If you are running the correct version on the correct network, Testworld 2.0, the expected output of the mina client status
command is:
Git SHA-1: 4a0fff9a2966d14b7a1c0ec00785cea9096b5341
Chain ID: 332c8cc05ba8de9efc23a011f57015d8c9ec96fac81d5d3f7a06969faf4bce92
Full Changelog: 2.0.0rampup6...2.0.0rampup7