Releases: MinaProtocol/mina
Mainnet Stable Release 1.1.7
While hard at work on the 1.2.0+ releases, the O(1) Labs team discovered an issue with the transaction inclusion logic. In an abundance of caution, we have provided a stable fix on top of the existing 1.1.5 codebase, tagged as 1.1.7 to avoid any confusion with the previous 1.1.6alpha naming convention. The changes have been thoroughly tested, and are limited to the minimal change to prevent future issues. To run this same change on the 1.2.0 beta release version, see 1.2.0beta6.
Complete Changelog since 1.1.5:
Upgrading & Connecting
Daemon Release Artifacts:
Docker Image:
minaprotocol/mina-daemon-baked:1.1.7-d5ff5aa-mainnet
Debian Package:
sudo apt-get install -y mina-mainnet=1.1.7-d5ff5aa
Archive Node Release Artifacts:
Docker Image:
minaprotocol/mina-archive:1.1.7-d5ff5aa
Debian Package:
sudo apt-get install -y mina-archive=1.1.7-d5ff5aa
Schema for initializing postgres:
create_schema.sql
Step by Step Guide:
Check out our documentation for complete instructions on using this version to connect to Mainnet. Make sure to run with --peer-list-url https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt
.
If you are running the correct version on the correct network, mina client status
will show:
Chain id: 5f704cc0c82e0ed70e873f0893d7e06f148524e3f0bdae2afb02e7819a0c24d1
Git SHA-1: d5ff5aa207e64bcd6862e1ae9a3b83910c1c7b1d
Mainnet Beta Release 1.2.0beta5
The O(1) Labs team is making progress on the networking issues reported in 1.2.0beta2/3
but so far, we are struggling to solve the issue beyond about 60-70 hours of uptime. So to mitigate this, and to still provide an overall better experience than 1.1.5, we have introduced behavior to shutdown the node gracefully after it has been up for 40-48 hours, in a period where your block producer will not win a slot. With docker or systemctl restarting your node after a shutdown, this operation should provide the minimum service disruption possible until we make more major changes to the networking code (also in the works!). The next release, potentially as an alpha on a new large testnet with a more realistic ledger, will include more comprehensive changes to improve responsiveness.
To fix a minor issue with release 1.2.0beta4 from ~24 hours ago, this release includes some more consistent quoting around the variables in mina.service which should improve the experience for debian/ubuntu package users. Docker users will not notice any difference between beta4 and beta5 besides the commit hash / mina version
output.
Now for the good news! 1.2.0beta5 also includes a more immediately useful new feature, the snark-work-based foundation delegation uptime tracking system. So that folks can begin testing it more widely, this beta release allows you to connect to our uptime tracking endpoint or run your own, but the data you submit now WILL NOT COUNT towards your uptime until this feature is released in a stable version. At that point we will make an announcement, wipe the google cloud bucket, and reset everything for production use. In the meantime, you can try out the new daemon flags ( --uptime-submitter <PUBLIC_KEY>
, --uptime-url http://34.134.227.208/v1/submit
) and the new environment variable UPTIME_PRIVKEY_PASS
for providing the password to the keypair you registered with on the leaderboard. Make sure to import your key into the daemon with mina account import --help
. See #9160 for more details on how to use this new feature. Additionally, if you want to test out the backend side or experiment with creating your own leaderboard UI, check out the backend README.
If you run into any issues, please include Release: 1.2.0beta5
in the name of any issues you create. Please report any issues you encounter here: https://github.com/MinaProtocol/mina/issues/new
Stability Improvements and Bug Fixes:
- Mitigation for the offline issue (crash when node has been running for >40 hours) #9301 #9387
- New metrics for tracking RPC responsiveness #9222 #9390
- Less metrics that are causing long async cycles (Gc.stat is more expensive than originally anticipated) #9436
- New block height metric #9408
- Dockerfile now uses UserID 50000 instead of 192920 #9435 #9326
- Debian stretch archive image no longer requires man to use postgres package #9410
- Move spammy logs to spam #9377
- Fix $KEY_NAME quoting #9446
New Features:
- New Mina Foundation Uptime Tracking! #9160
- This feature assumes the block producer key you intend to use has been imported with
mina accounts import --privkey-path /path/to/your/key
. - To test the new system, pass in the following information to the daemon:
- The public key you submitted to the Mina Foundation for the existing leaderboard with the flag
--uptime-submitter <PUBLIC_KEY>
- The URL of our testing backend server with the flag
--uptime-url http://34.134.227.208/v1/submit
- The password for the keypair associated to the given public key with the environment variable
UPTIME_PRIVKEY_PASS=<YOUR PASSWORD HERE>
. If you are using a .mina-env file on Debian then this value should be on its own line, not included inMINA_FLAGS=
.
- The public key you submitted to the Mina Foundation for the existing leaderboard with the flag
- This feature assumes the block producer key you intend to use has been imported with
- New environment variables in .mina-env for use with the mina systemd service #9375
- Passes in the --peer-list-url automatically to correspond to the mina package (mina-mainnet for mainnet peers list, and mina-devnet for devnet peers).
- This value can still be overridden with PEERS_LIST_URL variable in .mina-env
- KEY_NAME variable for the name of the keyfile in /home/%user/keys/ with default of
my-wallet
- LOG_LEVEL variable to set the daemon log level, with the default value Info
- Remove
--generate-genesis-proof true
as its a no-op in this mina version anyway - Changed WantedBy to default.target instead of multi-user.target as the latter does not work in user services (as many users have reported)
- Passes in the --peer-list-url automatically to correspond to the mina package (mina-mainnet for mainnet peers list, and mina-devnet for devnet peers).
Archive Node:
We put together a new tool to process archive node data all the way back to the genesis block, locate any "swapped" balances (caused by a pre-1.1.5 bug in the archive node logic), and fix them. See https://gist.github.com/lk86/22b07d3b3f91c765f34e4e4398a84701 for complete instructions.
Complete Changelog since 1.2.0beta2:
1.2.0beta2...1.2.0beta5
For more information about the changes included in 1.2.0beta1, see the previous release notes
Upgrading & Connecting
Daemon Release Artifacts:
Docker Image:
gcr.io/o1labs-192920/mina-daemon:1.2.0beta5-260701a-mainnet
Debian Package:
NOTE: --peers-list-url flag is no long required when running with systemctl --user ...
To allow for installation of mina beta
builds:
echo "deb [trusted=yes] http://packages.o1test.net stretch beta" | sudo tee /etc/apt/sources.list.d/mina-beta.list
sudo apt-get update
sudo apt-get install -y mina-mainnet=1.2.0beta5-260701a
Archive Node Release Artifacts:
Docker Image:
gcr.io/o1labs-192920/mina-archive:1.2.0beta5-260701a
Debian Package:
sudo apt-get install -y mina-archive-mainnet=1.2.0beta5-260701a
Schema for initializing postgres:
create_schema.sql
Sandbox Node: For testing in an isolated, single-node network without snarks
As of 1.2.0, the demo functionality is built into the standard daemon container, via the environment variable RUN_DEMO=true
.
Just docker run -it --name mina-demo -e RUN_DEMO=true gcr.io/o1labs-192920/mina-daemon:1.2.0beta5-260701a-devnet
and go!
Devnet:
To use any of the above packages or docker images on devnet instead of mainnet, with testnet signatures, you can simply replace mainnet
with devnet
in either the name of the package or the docker image tag.
Block Producer Stats Sidecar:
The block producer sidecar will be replaced with the foundation delegation uptime tracker described above, once it is graduated to stable.
Step by Step Guide:
Check out our documentation for complete instructions on using this version to connect to Mainnet. Docker only Make sure to run with --peer-list-url https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt
.
If you are running the correct version on the correct network, mina client status
will show:
Chain id: 5f704cc0c82e0ed70e873f0893d7e06f148524e3f0bdae2afb02e7819a0c24d1
Git SHA-1: 260701a0b82dc2093f95b9bae6e91f17cea34391
Mainnet Beta Release 1.2.0beta4
The O(1) Labs team is making progress on the networking issues reported in 1.2.0beta2/3
but so far, we are struggling to solve the issue beyond about 60-70 hours of uptime. So to mitigate this, and to still provide an overall better experience than 1.1.5, we have introduced behavior to shutdown the node gracefully after it has been up for 40-48 hours, in a period where your block producer will not win a slot. With docker or systemctl restarting your node after a shutdown, this operation should provide the minimum service disruption possible until we make more major changes to the networking code (also in the works!). The next release, potentially as an alpha on a new large testnet with a more realistic ledger, will include more comprehensive changes to improve responsiveness.
Known issues: The debian package included with this release does not properly quote/escape the $KEY_NAME variable in mina.service and therefore does not work properly with systemd. This issue is resolved in beta5.
Now for the good news! 1.2.0beta4 also includes a more immediately useful new feature, the snark-work-based foundation delegation uptime tracking system. So that folks can begin testing it more widely, this beta release allows you to connect to our uptime tracking endpoint or run your own, but the data you submit now WILL NOT COUNT towards your uptime until this feature is released in a stable version. At that point we will make an announcement, wipe the google cloud bucket, and reset everything for production use. In the meantime, you can try out the new daemon flags ( --uptime-submitter <PUBLIC_KEY>
, --uptime-url http://34.134.227.208/v1/submit
) and the new environment variable UPTIME_PRIVKEY_PASS
for providing the password to the keypair you registered with on the leaderboard. Make sure to import your key into the daemon with mina account import --help
. See #9160 for more details on how to use this new feature. Additionally, if you want to test out the backend side or experiment with creating your own leaderboard UI, check out the backend README.
If you run into any issues, please include Release: 1.2.0beta4
in the name of any issues you create. Please report any issues you encounter here: https://github.com/MinaProtocol/mina/issues/new
Stability Improvements and Bug Fixes:
- Mitigation for the offline issue (crash when node has been running for >40 hours) #9301 #9387
- New metrics for tracking RPC responsiveness #9222 #9390
- Less metrics that are causing long async cycles (Gc.stat is more expensive than originally anticipated) #9436
- New block height metric #9408
- Dockerfile now uses UserID 50000 instead of 192920 #9435 #9326
- Debian stretch archive image no longer requires man to use postgres package #9410
- Move spammy logs to spam #9377
New Features:
- New Mina Foundation Uptime Tracking! #9160
- This feature assumes the block producer key you intend to use has been imported with
mina accounts import --privkey-path /path/to/your/key
. - To test the new system, pass in the following information to the daemon:
- The public key you submitted to the Mina Foundation for the existing leaderboard with the flag
--uptime-submitter <PUBLIC_KEY>
- The URL of our testing backend server with the flag
--uptime-url http://34.134.227.208/v1/submit
- The password for the keypair associated to the given public key with the environment variable
UPTIME_PRIVKEY_PASS=<YOUR PASSWORD HERE>
. If you are using a .mina-env file on Debian then this value should be on its own line, not included inMINA_FLAGS=
.
- The public key you submitted to the Mina Foundation for the existing leaderboard with the flag
- This feature assumes the block producer key you intend to use has been imported with
- New environment variables in .mina-env for use with the mina systemd service #9375
- Passes in the --peer-list-url automatically to correspond to the mina package (mina-mainnet for mainnet peers list, and mina-devnet for devnet peers).
- This value can still be overridden with PEERS_LIST_URL variable in .mina-env
- KEY_NAME variable for the name of the keyfile in /home/%user/keys/ with default of
my-wallet
- LOG_LEVEL variable to set the daemon log level, with the default value Info
- Remove
--generate-genesis-proof true
as its a no-op in this mina version anyway - Changed WantedBy to default.target instead of multi-user.target as the latter does not work in user services (as many users have reported)
- Passes in the --peer-list-url automatically to correspond to the mina package (mina-mainnet for mainnet peers list, and mina-devnet for devnet peers).
Archive Node:
We put together a new tool to process archive node data all the way back to the genesis block, locate any "swapped" balances (caused by a pre-1.1.5 bug in the archive node logic), and fix them. See https://gist.github.com/lk86/22b07d3b3f91c765f34e4e4398a84701 for complete instructions.
Complete Changelog since 1.2.0beta2:
1.2.0beta2...1.2.0beta4
For more information about the changes included in 1.2.0beta1, see the previous release notes
Upgrading & Connecting
Daemon Release Artifacts:
Docker Image:
gcr.io/o1labs-192920/mina-daemon:1.2.0beta4-53a65a0-mainnet
Debian Package:
NOTE: --peers-list-url flag is no long required when running with systemctl --user ...
To allow for installation of mina beta
builds:
echo "deb [trusted=yes] http://packages.o1test.net stretch beta" | sudo tee /etc/apt/sources.list.d/mina-beta.list
sudo apt-get update
sudo apt-get install -y mina-mainnet=1.2.0beta4-53a65a0
Archive Node Release Artifacts:
Docker Image:
gcr.io/o1labs-192920/mina-archive:1.2.0beta4-53a65a0
Debian Package:
sudo apt-get install -y mina-archive-mainnet=1.2.0beta4-53a65a0
Schema for initializing postgres:
create_schema.sql
Sandbox Node: For testing in an isolated, single-node network without snarks
As of 1.2.0, the demo functionality is built into the standard daemon container, via the environment variable RUN_DEMO=true
.
Just docker run -it --name mina-demo -e RUN_DEMO=true gcr.io/o1labs-192920/mina-daemon:1.2.0beta4-53a65a0-devnet
and go!
Devnet:
To use any of the above packages or docker images on devnet instead of mainnet, with testnet signatures, you can simply replace mainnet
with devnet
in either the name of the package or the docker image tag.
Block Producer Stats Sidecar:
The block producer sidecar will be replaced with the foundation delegation uptime tracker described above, once it is graduated to stable.
Step by Step Guide:
Check out our documentation for complete instructions on using this version to connect to Mainnet. Docker only Make sure to run with --peer-list-url https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt
.
If you are running the correct version on the correct network, mina client status
will show:
Chain id: 5f704cc0c82e0ed70e873f0893d7e06f148524e3f0bdae2afb02e7819a0c24d1
Git SHA-1: 53a65a0136f8f804d9b743d1aaae55f55c66a3b7
Mainnet Beta Release 1.2.0beta3
As usual, the O(1) Labs team is hard at work on the networking issues reported in 1.2.0beta2
but we are struggling to find the root cause of the issue. To mitigate the problem, beta3
reintroduces the old behavior of crashing the node when it has been offline for too long (30 minutes), so that it will restart fresh and rejoin the network. Our initial testing with this change suggests that it will not make a big difference so the offline behavior remains, especially after 2-3 days of uptime. We're publishing this release anyway to get the new features into users hands and we're still hard at work behind the scenes searching for the root cause of the offline (and related) issues.
Now for the good news! 1.2.0beta3 also introduces a more immediately useful new feature, the new foundation delegation uptime tracking system. So that folks can begin testing it more widely, this beta release allows you to connect to our uptime tracking endpoint or run your own, but the data you submit now WILL NOT COUNT towards your uptime until this feature is released in a stable version. At that point we will make an announcement, wipe the google cloud bucket, and reset everything for production use. In the meantime, you can try out the new daemon flags ( --uptime-submitter <PUBLIC_KEY>
, --uptime-url http://34.134.227.208/v1/submit
) and the new environment variable UPTIME_PRIVKEY_PASS
for providing the password to the keypair you registered with on the leaderboard. See #9160 for more details on how to use this new feature. Additionally, if you want to test out the backend side or experiment with creating your own leaderboard UI, check out the backend README.
Stability Improvements and Bug Fixes:
- Mitigation for the offline issue (crash when node has been offline for 30 minutes) #9301
- New metrics for tracking RPC responsiveness #9222
New Features:
- New Mina Foundation Uptime Tracking! #9160
- This feature assumes the block producer key you intend to use has been imported with
mina accounts import --privkey-path /path/to/your/key
. - To test the new system, pass in the following information to the daemon:
- The public key you submitted to the Mina Foundation for the existing leaderboard with the flag
--uptime-submitter <PUBLIC_KEY>
- The URL of our testing backend server with the flag
--uptime-url http://34.134.227.208/v1/submit
- The password for the keypair associated to the given public key with the environment variable
UPTIME_PRIVKEY_PASS=<YOUR PASSWORD HERE>
. If you are using a .mina-env file on Debian then this value should be on its own line, not included inMINA_FLAGS=
.
- The public key you submitted to the Mina Foundation for the existing leaderboard with the flag
- This feature assumes the block producer key you intend to use has been imported with
Archive Node:
We put together a new tool to process archive node data all the way back to the genesis block, locate any "swapped" balances (caused by a pre-1.1.5 bug in the archive node logic), and fix them. See https://gist.github.com/lk86/22b07d3b3f91c765f34e4e4398a84701 for complete instructions.
Complete Changelog since 1.2.0beta2:
1.2.0beta2...1.2.0beta3
For more information about the changes included in 1.2.0beta1, see the previous release notes
Upgrading & Connecting
Daemon Release Artifacts:
Docker Image:
gcr.io/o1labs-192920/mina-daemon:1.2.0beta3-0c70f84-mainnet
Debian Package:
To allow for installation of mina beta
builds:
echo "deb [trusted=yes] http://packages.o1test.net stretch beta" | sudo tee /etc/apt/sources.list.d/mina-beta.list
sudo apt-get update
sudo apt-get install -y mina-mainnet=1.2.0beta3-0c70f84
Archive Node Release Artifacts:
Docker Image:
gcr.io/o1labs-192920/mina-archive:1.2.0beta3-0c70f84
Debian Package:
sudo apt-get install -y mina-archive-mainnet=1.2.0beta3-0c70f84
Schema for initializing postgres:
create_schema.sql
Sandbox Node: For testing in an isolated, single-node network without snarks
As of 1.2.0, the demo functionality is built into the standard daemon container, via the environment variable RUN_DEMO=true
.
Just docker run -it --name mina-demo -e RUN_DEMO=true gcr.io/o1labs-192920/mina-daemon:1.2.0beta3-0c70f84-devnet
and go!
Devnet:
To use any of the above packages or docker images on devnet instead of mainnet, with testnet signatures, you can simply replace mainnet
with devnet
in either the name of the package or the docker image tag.
Block Producer Stats Sidecar:
The block producer sidecar will be replaced with the foundation delegation uptime tracker described above, once it is graduated to stable.
Step by Step Guide:
Check out our documentation for complete instructions on using this version to connect to Mainnet. Make sure to run with --peer-list-url https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt
.
If you are running the correct version on the correct network, mina client status
will show:
Chain id: 5f704cc0c82e0ed70e873f0893d7e06f148524e3f0bdae2afb02e7819a0c24d1
Git SHA-1: 0c70f84fd339e9b20f37063dea1eaf010ff352d2
Mainnet Beta Release 1.2.0beta2
The team at O(1) Labs continues to make improvements to the current beta
build in order to address some of the issues that are present, ensuring we will have a stable build ready before the beta
is upgraded to a stable
release. All of these changes have been tested internally and/or included in previous public alphas. Included into this beta
build are some additional logs which will help us to gather more information to address the remaining issues with 1.2.0
. We still need your help to properly test how reliable the changes are on non-critical mainnet
nodes. Please notify us with new github issues or on discord if you encounter any regressions since 1.1.5, we want to get them resolved for you ASAP so the stable release of 1.2.0 can be perfect!
We DO NOT recommend upgrading critical mainnet infrastructure over to this version all at once. For production use, please wait for the upcoming stable release of 1.2.0. Anyone who is running more than 3 nodes should upgrade up to 1/3rd of them to the beta channel, to slowly rollout the new changes, but continue to run 1.1.5 on enough nodes to fall back on just in case. 1.2.0 will graduate to stable soon enough!
This release includes a series of fixes to address some issues that caused nodes to crash in the prior beta
build. It does not address all of the issues that have been reported, but includes necessary logging information that will help to debug and address the remaining issues before it is upgraded to stable. Most notably, bugs related to nodes going into the “Offline” status, and bugs related to degraded GraphQL API performance are still outstanding in this build. The team at O(1) Labs hopes to, with the help of the community, collect new logs from this beta
build so that these can issues can be promptly fixed.
If you want to assist the team in debugging these issues, keep an eye out for the Offline state and upload/attach the logs here #9210. Similarly, if you encounter the graphQL interface becoming unresponsive, share your logs and experience in #9211.
From now on builds will be packaged and released to the debian repo based on debian release codenames (stretch
for Debian 9/Ubuntu 18.04 and soon buster
for Debian 10 / Ubuntu 20.04), and a release channel (alpha
, beta
, stable
, unstable
).
To move your machine to the beta
channel and install this build you must first execute the following:
echo "deb [trusted=yes] http://packages.o1test.net stretch beta" | sudo tee /etc/apt/sources.list.d/mina-beta.list
sudo apt-get update
This creates a file, /etc/apt/sources.list.d/mina-beta.list
which configures the stretch/beta
repository.
Delete this file and reinstall mina if you want/need to downgrade back to 1.1.5.
New Logging:
- Add debug logging for increased visibility in libp2p IPC delays #9193
Stability Improvements and Bug Fixes:
- Fix remaining
WNOHANG
crashes caused by child process management #9171 - Prevent
mina ledger export-ledger staged-ledger
from blocking RPC heartbeats from being processed #9168 - Fix file descriptor leak by ensuring
stdin
is closed for all child processes after they have exited #9178
Complete Changelog since 1.2.0beta1:
1.2.0beta1...1.2.0beta2
For more information about the changes included in 1.2.0beta1, see the previous release notes
Upgrading & Connecting
Daemon Release Artifacts:
Docker Image:
gcr.io/o1labs-192920/mina-daemon:1.2.0beta2-23842ac-mainnet
Debian Package:
To allow for installation of mina beta
builds:
echo "deb [trusted=yes] http://packages.o1test.net stretch beta" | sudo tee /etc/apt/sources.list.d/mina-beta.list
sudo apt-get update
sudo apt-get install -y mina-mainnet=1.2.0beta2-23842ac
Archive Node Release Artifacts:
Docker Image:
gcr.io/o1labs-192920/mina-archive:1.2.0beta2-23842ac
Debian Package:
sudo apt-get install -y mina-archive-mainnet=1.2.0beta2-23842ac
Schema for initializing postgres:
create_schema.sql
Sandbox Node: For testing in an isolated, single-node network without snarks
As of 1.2.0, the demo functionality is built into the standard daemon container, via the environment variable RUN_DEMO=true
.
Just docker run -it --name mina-demo -e RUN_DEMO=true gcr.io/o1labs-192920/mina-daemon:1.2.0beta2-23842ac-devnet
and go!
Devnet:
To use any of the above packages or docker images on devnet instead of mainnet, with testnet signatures, you can simply replace mainnet
with devnet
in either the name of the package or the docker image tag.
Block Producer Stats Sidecar:
The block producer sidecar has been upgraded to be more stable and resilient when nodes are in bootstrap/catchup. The :latest docker tag has been updated, or you can pull minaprotocol/mina-bp-stats-sidecar:1.1.6-386c5ac
to ensure you are using the newest version.
Docker Image
minaprotocol/mina-bp-stats-sidecar:latest
Debian Package
sudo apt-get install -y mina-bp-stats-sidecar=1.2.0beta2-23842ac
Step by Step Guide:
Check out our documentation for complete instructions on using this version to connect to Mainnet. Make sure to run with --peer-list-url https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt
.
If you are running the correct version on the correct network, mina client status
will show:
Chain id: 5f704cc0c82e0ed70e873f0893d7e06f148524e3f0bdae2afb02e7819a0c24d1
Git SHA-1: 23842acf84226b55b654f00bdca8b23da1432916
Mainnet Beta Release 1.2.0beta1
As usual, the team at O(1) Labs has been making tons of changes behind the scenes to further test and improve the functionality of the Mina Daemon. To test all of these changes properly, we are releasing this beta
build to allow for a slow roll-out of upgrades across the network and more thorough testing before upgrading mainnet everywhere. All of these changes have been tested in internally and/or included in previous public alphas. We still need your help to properly test how reliable the changes are on non-critical mainnet
nodes. Please notify us with new github issues or on discord if you encounter any regressions since 1.1.5, we want to get them resolved for you ASAP so the stable release of 1.2.0 can be perfect!
We DO NOT recommend upgrading critical mainnet infrastructure over to this version all at once. For production use, please wait for the upcoming stable release of 1.2.0. Anyone who is running more than 3 nodes should upgrade up to 1/3rd of them to the beta channel, to slowly rollout the new changes, but continue to run 1.1.5 on enough nodes to fall back on just in case. 1.2.0 will graduate to stable soon enough!
This release includes a variety of new features that the community has been hoping or asking for, as well as major reliability improvements as we track down each crash and stuck node. The team even added 57 improvements for CI/CD to ensure all new changes are properly tested! Docker images no longer need to be baked
, the genesis proof is not generated or required after the first few blocks of a network, and snark keys are only downloaded on first use!
From now on builds will be packaged and released to the debian repo based on debian release codenames (stretch
for Debian 9/Ubuntu 18.04 and soon buster
for Debian 10 / Ubuntu 20.04), and a release channel (alpha
, beta
, stable
, unstable
).
To move your machine to the beta
channel and install this build you must first execute the following:
echo "deb [trusted=yes] http://packages.o1test.net stretch beta" | sudo tee /etc/apt/sources.list.d/mina-beta.list
sudo apt-get update
This creates a file, /etc/apt/sources.list.d/mina-beta.list
which configures the stretch/beta
repository.
Delete this file and reinstall mina if you want/need to downgrade back to 1.1.5.
New Features:
GraphQL:
- Match GraphQL sync status with the daemonStatus #8255
- Allows the
pooledUserCommands
query to select transactions by hash or ID, to make it more consistent withtransactionStatus
#8293 - Adds new GraphQL endpoint
stagedLedgerProofEmitted
to indicate that a new staged ledger proof was formed #8658
CLI Commands:
- Improved handling of locally-generated transactions to allow re-sending transactions and give the user more control over rebroadcasting transactions. No more
already saw this
errors! #8973 mina advanced vrf
is a set of new advanced commands for generating and evaluating VRF witnesses to prove that your key has won a slot #8814mina advanced hash-transaction
is a new command for hashing transactions #8294mina ledger export snarked-ledger
is a new command for exporting snarked ledgers with proven balances #8844- Show the coinbase-receiver in
mina client status
if it is set, and adds a new commandmina advanced set-coinbase-reciever
to change the coinbase receiver at runtime #8127 mina advanced chain-id-inputs
is a new command for displaying the inputs to the ChainID #8264mina advanced send-rosetta-transaction
now immediately sends the transaction instead of waiting for the command to exit #8186mina accounts
commands now support retrieving/uploading keys and account information over a remote graphQL interface instead of just local files #7282- Return exit code 1 when
mina ledger export
commands fail #8720 - New flag
--minimum-block-reward
tomina daemon
that allows a block producer to set the minimum net reward from producing a block. #8605- Addresses concerns from #8576 and block producers who have overpaid for snark work. If paying the fees for a given snark would drop the resulting profit below the given value, an empty block with no transactions is produced instead.
Other:
- More coda->mina changes #8238
- Allow passing peers-list-url parameter as part of the daemon.json or other config file #8295
- Quieter logging and improved messaging during daemon startup #8261 #8203 #8146 #8260 #8488 #8503
Stability Improvements and Bug Fixes:
- Guard against underflow when calculating balances via GraphQL #8096
- More thorough fix for nodes getting stuck at old block heights #8352 #8358 #8419 #8506
- Don't add "extra" snark work even if there is space and budget #8098
- Check that keys are valid before adding transaction to the pool #8442
- Fix edge case where transactions were dropped from the mempool #8473
- Check the validity of keys when they are provided as arguments to the CLI #8447
- Catch errors when the chain runs out of available accounts in the ledger #7258
- More verbose logging around long async cycles to help debug their source #8809
- Rebroadcast snark work until it is included in a block #8793
- Prevent crashes caused by short forks off of the root of the transition frontier #8952
- Rebroadcast transactions in chunks to better support reliable transaction broadcasts #8965
- Make calls to the verifier async to avoid lockups and bottlenecks in verifying transactions #8961
- Improves logic for communicating between rust and ocaml processes to prevent some memory corruption and segfaults #8998
- Limit snark work broadcasts to a safe rate below the libp2p rate limit to avoid getting throttled by peers #9011
- Revert the changes to staged ledger diff application #9068
- Fix super-catchup cache invalidation to allow re-downloading failed state hashes #9132
Improved Packaging and CI:
- Use the mina-mainnet package in docker #8239
- Terraform for mainnet and devnet2 #8225 #8179 #8250 #8248
- Attempted fix of clientSDK publish CI job #8325
- Optional Genesis Proof, Prover/Verifier Keys, and other network-specific artifacts at build-time and at startup #8497 #8584 #8672 #8764 #8947
- New tool for managing generated/downloaded keys,
snark_keys/gen_keys.exe
, which takes in a config-file and downloads or generates the appropriate artifacts #8554 - Refactor docker entrypoint script to be more flexible and allow for arbitrary scripts to execute in
/entrypoints.d/
#8263 - Enable Alpha Builds #8876
- coda->mina across CI/CD, scripts, and docker/debian tags
- consolidate mainnet, devnet, and archive-node builds into a single job
- migrate Ubuntu 18.04 containers to debian:stretch-slim for lightness
- lay groundwork for Ubuntu 20.04 and Debian Buster support
- remove legacy code including circle-ci
- adds
dockerfiles/Dockerfile-deb-builder
which can build complete .deb packages for all mina packages - remove debugging symbols from dune builds
- remove unused dependencies from debian packages
Improvements to ancillary tools (rosetta, archive-node, sidecar, etc.)
Rosetta:
- Add minimum transaction fee to Rosetta #8170
- New functions in the ClientSDK for supporting Rosetta-formatted keypairs #8324
- Add locked_ and total_ balance metadata to Rosetta account and balance responses #8141
- Add support for network=mainnet to Rosetta #8877
Libraries:
- New version of
ppx_version
#8435 #8734 - New version of snarky #8908
- Additional utility library for managing
Pickles_types
#8075
Archive-node and related tools:
- Canonical representation for "extensional blocks" for backing up and restoring archive node data #8312
mina-extract-blocks
tool for restoring archive node data from an existing archive node #8343mina-replayer
improvements #8329 #8717 #8739 #8751- Tools for patching bad balances from before the 1.1.5 archive node release #8583 #8611 #8732 #8815
Delegation Compliance App:
- New Delegation Compliance App for calculating payments back to the foundation from the top 120 block producers #8735 #8760 #8792 #8873 #8884 #8923
Sidecar:
Documentation:
- #8374 Blockchain proof verification
- #8486 Child Processes
- #8428 bin_io Serialization Format
- #8670 Fix link to the CONTRIBUTING doc
- #8678 Improved README-dev.md
Monitoring, Testing, Alerting:
And 57 separate PRs to improve our monitoring, testing, and alerting infrastructure:
#8077 #8050 #8099 #8241 #8249 #8214 #8216 #8182 #8259 #8300 #8313 #8302 #8328 #8342 #8360 #7842 #8258 #8240 #8237 #8332 #8414 #8427 #8361 #8341 #8458 #8233 #8455 #8530 #8596 #8606 #8535 #8637 #8631 #8645 #8622 #8582 #8691 #8676 #8689 #8640 #8664 #8707 #8688 #8683 #8768 #8752 #8740 #8783 #7884 #8758 #8810 #8861 #8871 #8869 #8850 #8909 #8926
Complete Changelog:
Linked below is the full git history between 1.1.5 and 1.1.6alpha2. Split into 4 chunks as github will only display 250 commits at a time:
- February 22-March 4: 1.1.5...16d41f4
- March 4-April 6: 16d41f4...0e14abf
- April 6-May 3: 0e14abf...19a5324
- May 3-June 2: 19a5324...1.1.6alpha4
- June 2-June 28: 1.1.6alpha4...1.2.0beta1
It may also be useful to read the changes from each alpha release individually to understand how we got to this result.
1.1.6alpha4
1.1.6alpha5
[1.2.0...
Devnet Pre-release 1.2.0alpha1
This release includes everything from 1.1.6alpha5 with the exception of a change that causes nodes to crash when producing blocks. 1.2.0alpha1 reverts this behavior to match the code in 1.1.5 that we know works and has been working consistently in mainnet.
If you have been running any 1.1.6alpha release and intending to produce blocks, you may run into this bug (and miss blocks). You should immediately either downgrade to the stable 1.1.5 version or upgrade to this 1.2.0alpha1.
Don't worry, 1.2.0 is not some new drastic change from the 1.1.6alpha5 that is already out and being tested. The release number reflects a change in how we are versioning new soft-fork releases. The new features and the large scope of the changes since 1.1.5 justify a bump in the minor
version, and future planned feature releases like this will be 1.3.X, 1.4.X, etc. Incrementing the patch
version (like 1.2.1 vs. 1.2.0) is then reserved for hotfixes.
NOTE: Alpha builds are intended only for use on devnet, to avoid introducing major breaking changes to the mainnet environment. We don't expect major breaking changes here, but the goal is to safely verify that assumption before graduating releases to beta
and eventually stable
for mainnet use.
This release includes all of the changes from 1.1.6alpha5, plus the following:
Stability Improvements and Bug Fixes:
- Revert the changes to staged ledger diff application #9068
Complete Changelog since alpha4:
- Since 1.1.6alpha4: 1.1.6alpha4...1.2.0alpha1
Upgrading & Connecting
Daemon Release Artifacts:
NOTE: For devnet only!
Docker Image:
gcr.io/o1labs-192920/mina-daemon:1.2.0alpha1-8809560-devnet
Debian Package:
To allow for installation of mina-devnet alpha builds but prevent installing mina-mainnet alphas:
echo "deb [trusted=yes] http://packages.o1test.net stretch alpha" | sudo tee /etc/apt/sources.list.d/mina-alpha.list
echo -e "Package: mina-mainnet\nPin: release c=alpha\nPin-priority: 1" | sudo tee /etc/apt/preferences.d/99-mina-alpha
sudo apt-get update
sudo apt-get install -y mina-devnet=1.2.0alpha1-8809560
This creates two files, /etc/apt/sources.list.d/mina-alpha.list
which configures the stretch/alpha repository, and /etc/apt/preferences.d/99-mina-alpha
which lowers the "preference" of mina-mainnet alpha packages so that you do not accidentally install mainnet packages. Delete these two files and reinstall mina if you want to downgrade back to 1.1.5.
Archive Node Release Artifacts:
NOTE: For devnet only!
Docker Image:
gcr.io/o1labs-192920/mina-archive:1.2.0alpha1-8809560-devnet
Debian Package:
sudo apt-get install -y mina-archive-devnet=1.2.0alpha1-8809560
Schema for initializing postgres:
create_schema.sql
Sandbox Node: For testing in an isolated, single-node network without snarks
As of 1.1.6, the demo functionality is built into the standard daemon container, via the environment variable RUN_DEMO=true
.
Just docker run -it --name mina-demo -e RUN_DEMO=true gcr.io/o1labs-192920/mina-daemon:1.2.0alpha1-8809560-devnet
and go!
Block Producer Stats Sidecar:
The block producer sidecar has been upgraded to be more stable and resilient when nodes are in bootstrap/catchup. The :latest docker tag has been updated, or you can pull minaprotocol/mina-bp-stats-sidecar:1.1.6-386c5ac
to ensure you are using the newest version.
Docker Image
minaprotocol/mina-bp-stats-sidecar:latest
Debian Package
sudo apt-get install -y mina-bp-stats-sidecar=1.2.0alpha1-8809560-devnet
Step by Step Guide:
Check out our documentation for complete instructions on using this version to connect to Devnet. Make sure to run with --peer-list-url https://storage.googleapis.com/seed-lists/devnet_seeds.txt
.
If you are running the correct version on the correct network, mina client status
will show:
Chain id: 8af43cf261ea10c761ec540f92aafb76aec56d8d74f77c836f3ab1de5ce4eac5
Git SHA-1: 8809560e611e7974e009902f7eb161cb6a9428e6
Devnet Pre-release 1.1.6alpha5
To test all of these changes properly, we are releasing another public alpha build for our Test Network devnet to allow for safer and more thorough testing before upgrading mainnet everywhere. All of these changes have been tested in some form internally, but very few hours have been logged on them as a group, and we need your help to properly test how reliable the changes are. Please notify us with new github issues or on discord if you encounter any regressions since 1.1.5, we want to get them resolved for you ASAP so the stable release of 1.1.6 can be perfect!
This release includes all of the changes from 1.1.6alpha4, plus the following:
New Features:
- Improved handling of locally-generated transactions to allow re-sending transactions and give the user more control over rebroadcasting transactions. No more
already saw this
errors! #8973
Stability Improvements and Bug Fixes:
- Improves logic for communicating between rust and ocaml processes to prevent some memory corruption and segfaults #8998
- Limit snark work broadcasts to a safe rate below the libp2p rate limit to avoid getting throttled by peers #9011
Improvements to ancillary tools (rosetta, archive-node, sidecar, etc.)
- Improved archive node script for patching bad balances #8815
Complete Changelog:
- Since alpha4: 1.1.6alpha4...1.1.6alpha5
Upgrading & Connecting
Daemon Release Artifacts:
NOTE: For devnet only!
Docker Image:
gcr.io/o1labs-192920/mina-daemon:1.1.6alpha5-f010320-devnet
Debian Package:
To allow for installation of mina-devnet alpha builds but prevent installing mina-mainnet alphas:
echo "deb [trusted=yes] http://packages.o1test.net stretch alpha" | sudo tee /etc/apt/sources.list.d/mina-alpha.list
echo -e "Package: mina-mainnet\nPin: release c=alpha\nPin-priority: 1" | sudo tee /etc/apt/preferences.d/99-mina-alpha
sudo apt-get update
sudo apt-get install -y mina-devnet=1.1.6alpha5-f010320
This creates two files, /etc/apt/sources.list.d/mina-alpha.list
which configures the stretch/alpha repository, and /etc/apt/preferences.d/99-mina-alpha
which lowers the "preference" of mina-mainnet alpha packages so that you do not accidentally install mainnet packages. Delete these two files and reinstall mina if you want to downgrade back to 1.1.5.
Archive Node Release Artifacts:
NOTE: For devnet only!
Docker Image:
gcr.io/o1labs-192920/mina-archive:1.1.6alpha5-f010320-devnet
Debian Package:
sudo apt-get install -y mina-archive-devnet=1.1.6alpha5-f010320
Schema for initializing postgres:
create_schema.sql
Sandbox Node: For testing in an isolated, single-node network without snarks
As of 1.1.6, the demo functionality is built into the standard daemon container, via the environment variable RUN_DEMO=true
.
Just docker run -it --name mina-demo -e RUN_DEMO=true gcr.io/o1labs-192920/mina-daemon:1.1.6alpha5-f010320-devnet
and go!
Block Producer Stats Sidecar:
The block producer sidecar has been upgraded to be more stable and resilient when nodes are in bootstrap/catchup. The :latest docker tag has been updated, or you can pull minaprotocol/mina-bp-stats-sidecar:1.1.6-386c5ac
to ensure you are using the newest version.
Docker Image
minaprotocol/mina-bp-stats-sidecar:latest
Debian Package
sudo apt-get install -y mina-bp-stats-sidecar=1.1.6alpha5-f010320
Step by Step Guide:
Check out our documentation for complete instructions on using this version to connect to Devnet. Make sure to run with --peer-list-url https://storage.googleapis.com/seed-lists/devnet_seeds.txt
.
If you are running the correct version on the correct network, mina client status
will show:
Chain id: 8af43cf261ea10c761ec540f92aafb76aec56d8d74f77c836f3ab1de5ce4eac5
Git SHA-1: f01032026145a5125825f7908192083f101924b2
Devnet Pre-Release 1.1.6alpha4
As usual, the team has been making tons of changes behind the scenes to further test and improve the functionality of the Mina Daemon. To test all of these changes properly, we are releasing this alpha
build for our Test Network devnet
to allow for safer and more thorough testing before upgrading mainnet everywhere. All of these changes have been tested in some form internally, but very few hours have been logged on them as a group, and we need your help to properly test how reliable the changes are. Please notify us with new github issues or on discord if you encounter any regressions since 1.1.5, we want to get them resolved for you ASAP so the stable release of 1.1.6 can be perfect!
This release includes a variety of new features that the community has been hoping or asking for, as well as major reliability improvements as we track down each crash and stuck node. The team even added 57 improvements for CI/CD to ensure all new changes are properly tested! Docker images no longer need to be baked
, the genesis proof is not generated or required after the first few blocks of a network, and snark keys are only downloaded on first use!
From now on builds will be packaged and released to the debian repo based on debian release codenames (stretch
for Debian 9/Ubuntu 18.04 and soon buster
for Debian 10 / Ubuntu 20.04), and a release channel (alpha
, beta
, stable
, unstable
). To move your machine to the alpha
channel and install this build you must first execute the following:
echo "deb [trusted=yes] http://packages.o1test.net stretch alpha" | sudo tee /etc/apt/sources.list.d/mina-alpha.list
echo -e "Package: mina-mainnet\nPin: release c=alpha\nPin-priority: 1" | sudo tee /etc/apt/preferences.d/99-mina-alpha
sudo apt-get update
This creates two files, /etc/apt/sources.list.d/mina-alpha.list
which configures the stretch/alpha
repository, and /etc/apt/preferences.d/99-mina-alpha
which lowers the "preference" of mina-mainnet alpha packages so that you do not accidentally install mainnet packages. Delete these two files and reinstall mina if you want to downgrade back to 1.1.5.
New Features:
GraphQL:
- Match GraphQL sync status with the daemonStatus #8255
- Allows the
pooledUserCommands
query to select transactions by hash or ID, to make it more consistent withtransactionStatus
#8293 - Adds new GraphQL endpoint
stagedLedgerProofEmitted
to indicate that a new staged ledger proof was formed #8658
CLI Commands:
mina advanced vrf
is a set of new advanced commands for generating and evaluating VRF witnesses to prove that your key has won a slot #8814mina advanced hash-transaction
is a new command for hashing transactions #8294mina ledger export snarked-ledger
is a new command for exporting snarked ledgers with proven balances #8844- Show the coinbase-receiver in
mina client status
if it is set, and adds a new commandmina advanced set-coinbase-reciever
to change the coinbase receiver at runtime #8127 mina advanced chain-id-inputs
is a new command for displaying the inputs to the ChainID #8264mina advanced send-rosetta-transaction
now immediately sends the transaction instead of waiting for the command to exit #8186mina accounts
commands now support retrieving/uploading keys and account information over a remote graphQL interface instead of just local files #7282- Return exit code 1 when
mina ledger export
commands fail #8720 - New flag
--minimum-block-reward
tomina daemon
that allows a block producer to set the minimum net reward from producing a block. #8605- Addresses concerns from #8576 and block producers who have overpaid for snark work. If paying the fees for a given snark would drop the resulting profit below the given value, an empty block with no transactions is produced instead.
Other:
- More coda->mina changes #8238
- Allow passing peers-list-url parameter as part of the daemon.json or other config file #8295
- Quieter logging and improved messaging during daemon startup #8261 #8203 #8146 #8260 #8488 #8503
Stability Improvements and Bug Fixes:
- Guard against underflow when calculating balances via GraphQL #8096
- More thorough fix for nodes getting stuck at old block heights #8352 #8358 #8419 #8506
- Don't add "extra" snark work even if there is space and budget #8098
- Check that keys are valid before adding transaction to the pool #8442
- Fix edge case where transactions were dropped from the mempool #8473
- Check the validity of keys when they are provided as arguments to the CLI #8447
- Catch errors when the chain runs out of available accounts in the ledger #7258
- More verbose logging around long async cycles to help debug their source #8809
- Rebroadcast snark work until it is included in a block #8793
- Prevent crashes caused by short forks off of the root of the transition frontier #8952
- Rebroadcast transactions in chunks to better support reliable transaction broadcasts #8965
- Make calls to the verifier async to avoid lockups and bottlenecks in verifying transactions #8961
Improved Packaging and CI:
- Use the mina-mainnet package in docker #8239
- Terraform for mainnet and devnet2 #8225 #8179 #8250 #8248
- Attempted fix of clientSDK publish CI job #8325
- Optional Genesis Proof, Prover/Verifier Keys, and other network-specific artifacts at build-time and at startup #8497 #8584 #8672 #8764 #8947
- New tool for managing generated/downloaded keys,
snark_keys/gen_keys.exe
, which takes in a config-file and downloads or generates the appropriate artifacts #8554 - Refactor docker entrypoint script to be more flexible and allow for arbitrary scripts to execute in
/entrypoints.d/
#8263 - Enable Alpha Builds #8876
- coda->mina across CI/CD, scripts, and docker/debian tags
- consolidate mainnet, devnet, and archive-node builds into a single job
- migrate Ubuntu 18.04 containers to debian:stretch-slim for lightness
- lay groundwork for Ubuntu 20.04 and Debian Buster support
- remove legacy code including circle-ci
- adds
dockerfiles/Dockerfile-deb-builder
which can build complete .deb packages for all mina packages - remove debugging symbols from dune builds
- remove unused dependencies from debian packages
Improvements to ancillary tools (rosetta, archive-node, sidecar, etc.)
Rosetta:
- Add minimum transaction fee to Rosetta #8170
- New functions in the ClientSDK for supporting Rosetta-formatted keypairs #8324
- Add locked_ and total_ balance metadata to Rosetta account and balance responses #8141
- Add support for network=mainnet to Rosetta #8877
Libraries:
- New version of
ppx_version
#8435 #8734 - New version of snarky #8908
- Additional utility library for managing
Pickles_types
#8075
Archive-node and related tools:
- Canonical representation for "extensional blocks" for backing up and restoring archive node data #8312
mina-extract-blocks
tool for restoring archive node data from an existing archive node #8343mina-replayer
improvements #8329 #8717 #8739 #8751- Tools for patching bad balances from before the 1.1.5 archive node release #8583 #8611 #8732
Delegation Compliance App:
- New Delegation Compliance App for calculating payments back to the foundation from the top 120 block producers #8735 #8760 #8792 #8873 #8884 #8923
Sidecar:
Documentation:
- #8374 Blockchain proof verification
- #8486 Child Processes
- #8428 bin_io Serialization Format
- #8670 Fix link to the CONTRIBUTING doc
- #8678 Improved README-dev.md
Monitoring, Testing, Alerting:
And 57 separate PRs to improve our monitoring, testing, and alerting infrastructure:
#8077 #8050 #8099 #8241 #8249 #8214 #8216 #8182 #8259 #8300 #8313 #8302 #8328 #8342 #8360 #7842 #8258 #8240 #8237 #8332 #8414 #8427 #8361 #8341 #8458 #8233 #8455 #8530 #8596 #8606 #8535 #8637 #8631 #8645 #8622 #8582 #8691 #8676 #8689 #8640 #8664 #8707 #8688 #8683 #8768 #8752 #8740 #8783 #7884 #8758 #8810 #8861 #8871 #8869 #8850 #8909 #8926
Complete Changelog:
Linked below is the full git history between 1.1.5 and 1.1.6alpha2. Split into 4 chunks as github will only display 250 commits at a time:
- February 22-March 4: 1.1.5...16d41f4
- March 4-April 6: 16d41f4...0e14abf
- April 6-May 3: 0e14abf...19a5324
- May 3-June 2: 19a5324...1.1.6alpha4
Upgrading & Connecting
Daemon Release Artifacts:
NOTE: For devnet only!
Docker Image:
gcr.io/o1labs-192920/mina-daemon:1.1.6alpha4-74793a2-devnet
Debian Package:
To allow for installation of mina-devnet alpha builds but prevent installing mina-mainnet alphas:
echo "deb [trusted=yes] http://packages.o1test.net stretch alpha" | sudo tee /etc/apt/sources.list.d/mina-alpha.list
echo -e "Package: mina-mainnet\nPin: release c=alpha\nPin-priority: 1" | tee /etc/apt/preferences.d/99-mina-alpha
sudo apt-get update
sudo apt-get install -y mina-devnet=1.1.6alpha4-74793a2
Archive Node Release Artifacts:
NOTE: For devnet only!
Docker Image:
gcr.io/o1labs-192920/mina-archive:1.1.6alpha4-74793a2-devnet
Debian Package:
sudo apt-get install -y mina-archive-devnet=1.1.6alpha4-74793a2
Schema for initializing postgres:
create_schema.sql
Sandbox Node: For testing in an isolated, single-node network without snarks
As of 1.1.6, the demo functionali...
1.1.5 Mainnet Stability Fixes
v1.1.5 Mainnet Stability Fixes
The team has been hard at work as usual since the launch of Mainnet, largely working to fix and test a new solution for managing child processes of the Mina daemon. Initially focused on the Prover and Verifier processes, our testing uncovered that the Gcloud Block Uploads feature was causing nodes to crash during bootstrap and catchup when many blocks were uploaded at once. This release includes a improved management of child processes across the board (including the Gcloud Block Upload feature), new monitoring features and node status improvements, and fixes for some potential crashes.
Additionally, a bug was discovered in the archive node where the balances for two accounts are swapped when storing blocks with "combined fee transfer" transactions. A future announcement will be made with complete migration instructions to repair existing archive databases but the 1.1.5 archive node release will do the right thing for all future blocks/transactions. PR #8509 is the only change to the archive node since 1.1.3.
Child Process Management Refactor:
- More modular refactor of the new waiting code #8358
- More aggressive wait-handling with more verbose logging #8352
- Add timeout to blockchain snarks #8119
- Handle verifier exits safely #8196
- Initial work from #8076 (Partially fix waiting for verifier) ported onto master
- Aggressive handling of block upload exceptions #8419
- Wrap libp2p_helper in the same logic as prover/verifier #8415
Alerting, Monitoring, and Testing:
- Increased timeout for node status RPC #8342
- libp2p metrics fed through to the daemon metrics port for easy integration with the rest of our tooling #8360 , additionally rename the most critical new metric so it gets passed through the existing infra #8427
- Add block height to node-status in a backward-compatible way #8361
- Watchdog fixes for seed peer metric #8258
Critical fixes that have landed since v1.1.3
- Filter out invalid peers from peers-list-files #8260
- Introduced hardening around preventing invalid keypairs from entering the transaction pool #8442
Support pre-release packaging
See 1.1.4...1.1.5 for the complete set of changes since 1.1.4
For more details on the previous 1.1.4 hotfix, see https://github.com/MinaProtocol/mina/releases/tag/1.1.4
Upgrading & Connecting
Daemon Release Artifacts:
Docker Image:
minaprotocol/mina-daemon-baked:1.1.5-a42bdee
Debian Package:
sudo apt-get install -y mina-mainnet=1.1.5-a42bdee
Archive Node Release Artifacts:
Docker Image:
minaprotocol/mina-archive:1.1.5-a42bdee
Debian Package:
sudo apt-get install -y mina-archive=1.1.5-a42bdee
Schema for initializing postgres:
create_schema.sql
Sandbox Node: For testing in an isolated, single-node network without snarks
Docker Image:
minaprotocol/mina-demo:1.1.5-a42bdee
Just docker run -it --name mina-demo minaprotocol/mina-demo:1.1.5-a42bdee
and go!
Block Producer Stats Sidecar:
The block producer sidecar has been upgraded to be more stable and resilient when nodes are in bootstrap/catchup. The :latest docker tag has been updated, or you can pull minaprotocol/mina-bp-stats-sidecar:1.1.6-386c5ac
to ensure you are using the newest version.
Docker Image
minaprotocol/mina-bp-stats-sidecar:latest
Debian Package
sudo apt-get install -y mina-bp-stats-sidecar=1.1.6-386c5ac
Step by Step Guide:
Check out our documentation for complete instructions on using this version to connect to Mainnet. Make sure to run with --peer-list-url https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt
.
If you are running the correct version on the correct network, mina client status
will show:
Chain id: 5f704cc0c82e0ed70e873f0893d7e06f148524e3f0bdae2afb02e7819a0c24d1
Git SHA-1: a42bdeef6b0c15ee34616e4df76c882b0c5c7c2a