Mina is a new cryptocurrency with a constant size blockchain, improving scaling while maintaining decentralization and security.

Overview
Mina logo

Mina

Mina is the first cryptocurrency with a lightweight, constant-sized blockchain. This is the main source code repository for the Mina project. It contains code for the OCaml protocol implementation, website, & wallet. Enjoy!

Notes

  • Mina is still under active development, and APIs are still evolving. If you do build upon the APIs, be aware that breaking changes may occur.

What is Mina?

Mina Walkthrough

Technical Papers

Blog

Contributing

Read the Contributing Guide for information on how to make both technical and non-technical contributions.

Developers

The Developer docs contain all the information needed to begin contributing code to Mina, and using Mina APIs to build applications.

Quick Links:

Community

License

Apache 2.0

Commits older than 2018-10-03 do not have a LICENSE file or this notice, but are distributed under the same terms.

Comments
  • High number of blocks being rejected

    High number of blocks being rejected

    here is the log of the last one and can apply for the other 3 i missed in the same way, search for: "Successfully produced a new block"

    "message": "Successfully produced a new block" "consensus_state": { "blockchain_length": "535", "epoch_count": "0", "has_ancestor_in_same_checkpoint_window": true, "block_stake_winner": "B62qrkmvmh4by7jLAVnBnMdjTDuNJfnZDRkuA7EuyNtG1TW9mfymTsa", "block_creator": "B62qrkmvmh4by7jLAVnBnMdjTDuNJfnZDRkuA7EuyNtG1TW9mfymTsa", "coinbase_receiver": "B62qrkmvmh4by7jLAVnBnMdjTDuNJfnZDRkuA7EuyNtG1TW9mfymTsa", "supercharge_coinbase": true }

    Debian 10 , i7 6700k + 16gb ram , coda daemon binaries. Aki_Ghosting_Block_Produced_coda.log.tar.gz

    investigation 
    opened by AkiAfroo 63
  • Sync ledger for epoch ledger download

    Sync ledger for epoch ledger download

    Instead of using an RPC, use the sync ledger mechanism to get epoch ledgers during bootstrap.

    Tested by applying the same changes to the release/2.0.0 branch, connecting to the berkeley testnet, and verifying that the sync ledger code was called, and that the created sparse ledger had the same Merkle root as the target ledger hash.

    Also: added a debug log to print the chain id on daemon startup. If there's a chain id mismatch and the daemon crashes, you won't able to use client status to know what chain id was used.

    Closes #2819.

    berkeley-rampup 
    opened by psteckler 47
  • Request for Comments: GFM Participation Tracking Details

    Request for Comments: GFM Participation Tracking Details

    Changelog:

    • Revised section talking about foundation/O(1) delegation details as we've learned more
    • Added some clarity around the situation where not just GFMs are delegating to an account, removed Note2 since it incentivizes centralization too much
    • Added more clarity that even if you are a block producer, you fall under the delegation terms if you are receiving stake from another account. Self hot/cold production case should degenerately be the same as the block production one.
    • Changed a sentence near the top to reflect the intent of the first change
    • Added some examples to clarify the delegation rule
    • Added more context on the foundation delegation program
    • Provided more clarity around warning delivery
    • Provided details around burning specifics under Process
    • Confidence -> Probability

    ===

    Background

    According to the terms of the Genesis Founding Member agreement, you must be participating in the network with your stake (either staking or delegating). The following is a procedure for enforcing participation.

    Spirit

    The spirit of this mechanism of enforcement is to incentivize GFMs in this agreement to participate to help the network stay decentralized. We do not want GFMs to lose unvested assets unfairly. As such, we choose to be careful with the threshold for getting your tokens revoked. It is also very important we don't disincentivize GFMs to run their own block producing nodes.

    We also strongly recommend GFMs who are producing blocks to opt-in to the foundation delegation program. If you perform better than your peers, you will receive a large delegation from the foundation or O(1) treasuries and keep 5% of the earnings from that delegation -- which in turn will enable you to earn more tokens and produce blocks more often.

    Process

    At every planned hard fork, which will be at least six months apart for the first four years of the network's execution (starting 11 months in); we observe archive data specifying the staking ledgers and blocks over the last 11 months (anchored around a block at most 12 blocks back from the tip, for ensuring canonicity). If you are running a block producer, you must have at least one block on the canonical chain over this period. If you are delegating, the account you are delegating towards must produce blocks in proportion to the amount of stake being used. Those who are at risk of not meeting this requirement will be warned at least every month (after at least 6months of data) via an email from the Mina Foundation.

    If you do not meet this requirement, your tokens will be burned in the following manner: The "amount" field will be changed to zero and all vesting-related timing info will be stripped from the account. This is a good mechanism because it makes consensus slightly more efficient by removing these non-participatory tokens from circulation entirely.

    The rest of this document proposes why one block in 11 months is a good, safe, fair metric for block producers and provides more detail around the delegation rules. In addition, we mention tooling that will be built to support this process.

    The Block production rule

    Block production is probabilistic. We don't know for sure who will win which slots or whose blocks will make it on the canonical chain. The probabilistic nature means choosing the "average" as a cut-off point is not ideal; this means around half of block producers won't meet the cut-off, even if they were performing perfectly.

    Since there are more than 600 genesis members, we want to be as confident as possible that we won't have any unfair forfeitures. See some computations below (note: 12 months Math is shown in the screenshot):

    Screen_Shot_2021-02-11_at_3 05 12_PM

    via https://keisan.casio.com/exec/system/1180573198

    With 66k MINA tokens, over 11 months of data at the current network protocol constants, there is a 99.98% probability that someone operating their node properly will produce a block on the canonical chain. This means that there is an overwhelming probability you will create a block in that time. This also means that the longer your node is offline, the higher the likelihood your tokens will be forfeited.

    The delegation rule

    Many GFMs are choosing to delegate rather than produce blocks themselves. In order to ensure the network remains decentralized (ie. we don't want to incentivize all GFMs to delegate to the same account), we want to avoid scenarios such as a flat rate for delegations, as more stake delegated means more blocks.

    The metric is instead the following:

    For every slot a GFM is delegating to an account, each GFM receives (their stake / total stake) points. Over 11 months, the points must sum over 1 to prevent forfeiture. This also applies to GFMs who are being delegated to by other accounts -- you'll note that this is the same as the block production rule if there is only one account delegating (aka you have a self Hot/Cold setup)

    Here are a few examples:

    1. You have 66k tokens on your hot wallet. There is 100k stake delegated to you for 6months and 500k stake delegated for another 5months. During the first 6months you produce 1 block: so you receive (66k / 166k)*1 = 0.39759036144 points. During the second fork: you produce 12 more blocks: so you receive (66k / 566k)*11 = 1.39929328622 points. In total, you have ~1.797 points which is greater than 1 so you meet the requirement
    2. You have 0 tokens in your hot wallet, but you have a cold wallet that has your 66k tokens in it. Additionally, you have 1mil tokens delegated to you for the whole time period. During the 11months you produce 50 blocks. (66k / 1066k)*50 = 3.3 points. This is more than 1 point so you pass the requirement

    Why is this a good metric: It scales with participation fairly. For example, if two GFMs pool their stake, then they need to make two blocks. It also scales with time delegated; if someone only delegates for a bit, but not when a block is produced, then the scaling factor makes sure that their stake didn't count and everyone gets more points. Delegation smooths out the variance so you pay a fee for the privilege of less variance.

    Note 1: We cannot use the winnerAccount field to fairly measure this metric as when there is more than one winner, it would be economically disadvantageous for a block producer to select the resulting one randomly. They should pick the "better" VRF result. (The current implementation just does "first winner").

    Tooling

    O(1) Labs will provide tooling that consumes a PostgreSQL archive database and staking ledger JSON dump files over a time period of 11 months (or fewer for warning purposes). It will implement the logic stated above and can be used for warning and at the official hardforks.

    opened by bkase 46
  • OOM but not OOM (Attempted to allocate N bytes)

    OOM but not OOM (Attempted to allocate N bytes)

    Description

    My node has crashed, but I don't see the crash report in the .coda-config folder :thinking: In logs I see OOM, but according to Grafana the maximum was 17/64 GB image image image image

    Environment

    Git SHA-1: [DIRTY]880882e45e48aaf987aca191f488c7f65609c305
    Host OS: Ubuntu 18.04  
    Using containerization: docker  
    CPU: Intel(R) Xeon(R) CPU E3-1275 v6 @ 3.80GHz
    RAM: 64 GB  
    

    Steps to reproduce

    1. Standard installation from the repository, according to the instructions from #qa-task-force pin message
    2. Run new docker instance
    docker run --name mina -d \
    --restart always \
    -p 8301-8305:8301-8305 \
    -p 127.0.0.1:3085:3085 \
    -p 6060:6060 \
    -v $(pwd)/keys:/root/keys:ro \
    -v $(pwd)/coda-config:/root/.coda-config \
    -v $(pwd)/peers.txt:/root/peers.txt \
    --env CODA_PRIVKEY_PASS='12345' \
    minaprotocol/mina-daemon-baked:4.1-turbo-pickles-mina880882e-autoa026dd9 daemon \
    -block-producer-key /root/keys/my-wallet \
    -peer-list-file /root/peers.txt \
    -metrics-port 6060 \
    -insecure-rest-server \
    -file-log-level Debug \
    -log-level Info
    

    LOGS

    https://drive.google.com/file/d/1chFyQnD3CnlU_AK2Y6ddJZpNJlDvUcD-/view?usp=sharing

    technical-debt 
    opened by c29r3 35
  • Transition frontier debug assert failure -- local state desynced

    Transition frontier debug assert failure -- local state desynced

    Edit by @yourbuddyconner:

    Related to this crash:

    (monitor.ml.Error\n  (Failure \"local state desynced after applying diffs to full frontier\")\n  (\"Raised at file \\\"stdlib.ml\\\", line 33, characters 17-33\"\n    \"Called from file \\\"src/lib/debug_assert/debug_assert.ml\\\" (inlined), line 1, characters 25-33\"\n    \"Called from file \\\"src/lib/transition_frontier/full_frontier/full_frontier.ml\\\", line 606, characters 4-1023\"\n    \"Called from file \\\"src/lib/transition_frontier/transition_frontier.ml\\\", line 292, characters 4-93\"\n    \"Called from file \\\"src/lib/transition_handler/processor.ml\\\", line 57, characters 10-68\"\n    \"Called from file \\\"src/lib/rose_tree/rose_tree.ml\\\", line 79, characters 18-24\"\n    \"Called from file \\\"src/deferred_or_error.ml\\\", line 101, characters 23-33\"\n    \"Called from file \\\"src/deferred0.ml\\\", line 56, characters 64-69\"\n    \"Called from file \\\"src/job_queue.ml\\\" (inlined), line 131, characters 2-5\"\n    \"Called from file \\\"src/job_queue.ml\\\", line 171, characters 6-47\"\n    \"Caught by monitor coda\"))
    

    coda_crash_report_2020-06-10_00-40-20.819931.tar.gz

    testnet-bug triaged consider-for-closing stale triage 
    opened by Igor-Tselkovskiy 23
  • Client SDK: Potential regression in Client SDK <-> Daemon transaction compatibility.

    Client SDK: Potential regression in Client SDK <-> Daemon transaction compatibility.

    I couldn't find an issue on this tracked on GitHub so I made one here.

    Reports of "invalid signature" errors when using the offline client SDK to generate transactions and feed them on the 3.2b testnet. cc @garethtdavies

    testnet-bug 
    opened by bkase 21
  • [RFC] renaming refactor

    [RFC] renaming refactor

    This RFC is meant as a framework for moving the naming discussion forward. There are a number of names in this initial version that I'm not totally happy with, and there are pretty much no names in here that I am attached to. I want everyone on the team to review this PR and give feedback about what names they like, what they don't like, anything that's missing. After some discussion, we can create a poll or have a meeting about this topic to help finalize the names.

    Also, there's a good chance I missed some names in the document. Even if they will stay the same, please mention any missing names, as it is useful to document the names all in one place.

    opened by nholland94 21
  • Unknown memory leak

    Unknown memory leak

    ~$ coda daemon -peer hello-coda.o1test.net:8303
    terminate called after throwing an instance of 'std::bad_alloc'
      what():  std::bad_alloc
    2019-07-24 21:47:21 UTC [Info] Starting Bootstrap Controller phase
    2019-07-24 21:47:21 UTC [Info] Pausing block production while bootstrapping
    2019-07-24 21:47:21 UTC [Info] Daemon ready. Clients can now connect
    2019-07-24 21:47:27 UTC [Info] Connected to some peers [[host : 54.185.199.39, discovery_port : 8303, communication_port : 8302]]
    2019-07-24 21:47:27 UTC [Info] Connected to some peers [[host : 52.37.41.83, discovery_port : 8303, communication_port : 8302]]
    2019-07-24 21:47:27 UTC [Info] Connected to some peers [[host : 34.90.45.209, discovery_port : 8303, communication_port : 8302]]
    2019-07-24 21:48:06 UTC [Error] RPC call error: $error, same error in machine format: $machine_error
    	error: "((rpc_error\n  (Bin_io_exn\n   ((location \"server-side rpc query un-bin-io'ing\")\n    (exn\n     (src/common.ml.Read_error\n      \"Sum_tag / lib/syncable_ledger/syncable_ledger.ml.Make.query\" 40)))))\n (connection_description <created-directly>)\n (rpc_tag answer_sync_ledger_query) (rpc_version 1))"
    	machine_error: "((rpc_error(Bin_io_exn((location\"server-side rpc query un-bin-io'ing\")(exn(src/common.ml.Read_error\"Sum_tag / lib/syncable_ledger/syncable_ledger.ml.Make.query\"40)))))(connection_description <created-directly>)(rpc_tag answer_sync_ledger_query)(rpc_version 1))"
    2019-07-24 21:48:06 UTC [Faulty_peer] Banning peer "34.90.45.209" until "2019-07-25 21:48:06.168045Z" because it Trust_system.Actions.Violated_protocol (RPC call failed, reason: $exn)
    	exn: "((rpc_error\n  (Bin_io_exn\n   ((location \"server-side rpc query un-bin-io'ing\")\n    (exn\n     (src/common.ml.Read_error\n      \"Sum_tag / lib/syncable_ledger/syncable_ledger.ml.Make.query\" 40)))))\n (connection_description <created-directly>)\n (rpc_tag answer_sync_ledger_query) (rpc_version 1))"
    2019-07-24 21:48:06 UTC [Info] Removing peer from peer set: [host : 34.90.45.209, discovery_port : 8303, communication_port : 8302]
    2019-07-24 21:48:06 UTC [Warn] Network error: ((rpc_error(Bin_io_exn((location"server-side rpc query un-bin-io'ing")(exn(src/common.ml.Read_error"Sum_tag / lib/syncable_ledger/syncable_ledger.ml.Make.query"40)))))(connection_description <created-directly>)(rpc_tag answer_sync_ledger_query)(rpc_version 1))
    2019-07-24 21:48:06 UTC [Error] RPC call error: $error, same error in machine format: $machine_error
    	error: "((rpc_error\n  (Bin_io_exn\n   ((location \"server-side rpc query un-bin-io'ing\")\n    (exn\n     (src/common.ml.Read_error\n      \"Sum_tag / lib/syncable_ledger/syncable_ledger.ml.Make.query\" 40)))))\n (connection_description <created-directly>)\n (rpc_tag answer_sync_ledger_query) (rpc_version 1))"
    	machine_error: "((rpc_error(Bin_io_exn((location\"server-side rpc query un-bin-io'ing\")(exn(src/common.ml.Read_error\"Sum_tag / lib/syncable_ledger/syncable_ledger.ml.Make.query\"40)))))(connection_description <created-directly>)(rpc_tag answer_sync_ledger_query)(rpc_version 1))"
    2019-07-24 21:48:06 UTC [Info] Removing peer from peer set: [host : 34.90.45.209, discovery_port : 8303, communication_port : 8302]
    2019-07-24 21:48:06 UTC [Warn] Network error: ((rpc_error(Bin_io_exn((location"server-side rpc query un-bin-io'ing")(exn(src/common.ml.Read_error"Sum_tag / lib/syncable_ledger/syncable_ledger.ml.Make.query"40)))))(connection_description <created-directly>)(rpc_tag answer_sync_ledger_query)(rpc_version 1))
    2019-07-24 21:48:28 UTC [Info] Bootstrap state: complete.
    2019-07-24 21:48:28 UTC [Info] Starting Transition Frontier Controller phase
    
    daemon bug 
    opened by o1pranay 20
  • [RFC] Internationalize wallet

    [RFC] Internationalize wallet

    Explain your changes here.

    RFC for the react-intl grant.

    Explain how you tested your changes here.

    My markdown and command of the English language is decent.

    Checklist:

    • [ ] Tests were added for the new behavior
    • [ ] All tests pass (CI will check this if you didn't)
    • [ ] Serialized types are in stable-versioned modules
    • [ ] Does this close issues? List them:
    opened by dangdennis 19
  • [RC-Mainnet] Got out of memory on one of my nodes

    [RC-Mainnet] Got out of memory on one of my nodes

    One of my nodes crashed with an out of memory error, which is strange since this node has 64GB RAM and 8-Cores processor. I am only running the sidecar and the block producer there.

    Mar 20 20:13:38 Ubuntu-1804-bionic-64-minimal mina[10764]: 2021-03-20 19:13:38 UTC [Info] Received a block from $sender
    Mar 20 20:13:38 Ubuntu-1804-bionic-64-minimal mina[10764]:         sender: {
    Mar 20 20:13:38 Ubuntu-1804-bionic-64-minimal mina[10764]:   "Remote": {
    Mar 20 20:13:38 Ubuntu-1804-bionic-64-minimal mina[10764]:     "host": "35.237.235.108",
    Mar 20 20:13:38 Ubuntu-1804-bionic-64-minimal mina[10764]:     "peer_id": "12D3KooWK4NfthViCTyLgVQa1WvqDC1NccVxGruCXCZUt3GqvFvn",
    Mar 20 20:13:38 Ubuntu-1804-bionic-64-minimal mina[10764]:     "libp2p_port": 10001
    Mar 20 20:13:38 Ubuntu-1804-bionic-64-minimal mina[10764]:   }
    Mar 20 20:13:38 Ubuntu-1804-bionic-64-minimal mina[10764]: }
    Mar 20 20:13:40 Ubuntu-1804-bionic-64-minimal mina[10764]: Attempted to allocate 137048778945 bytesFatal error: out of memory.
    Mar 20 20:13:40 Ubuntu-1804-bionic-64-minimal systemd[955]: mina.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
    Mar 20 20:13:40 Ubuntu-1804-bionic-64-minimal systemd[955]: mina.service: Failed with result 'exit-code'.
    
    needs info technical-debt triage 
    opened by gnosed 18
  • Use chunks of triples to compute Pedersen hash

    Use chunks of triples to compute Pedersen hash

    Besides generating an ML file with Pedersen hash parameters, we also generate a table of curve values for chunks of triples. The size of the chunk is given by Chunked_triples.Chunk.size.

    With a chunk size of 3, hashing takes about half the time. Generating the table takes a small number of seconds; increasing the size increases the generation time. The serialized version of the table is large, about 70 Mb, perhaps a consideration.

    The code was tested by building and running all unit tests, and for every hash computed, it was computed using the existing method and the chunked method, and comparing the results.

    There are conversions between triple chunks and integers, there's a unit test that exhaustively checks the range of possible integers.

    opened by psteckler 18
  • SPIKE: Breakdown of code areas to investigate in first batch

    SPIKE: Breakdown of code areas to investigate in first batch

    The objective of this spike is to get a good enough understanding of the code and tests in the new portion of the codebase to make a plan for how to break down the following investigation of how good our test coverage is.

    We will need to look at the diff between develop and compatible to find the major new features (mostly, zkApps). We will want to create a list of new components, where they are in the codebase, and how large they are. With that, we can then create individual tickets to look at the test coverage of each of those.

    MinaFoundation Confidence 
    opened by kantp 0
  • Sync Archiving node with Berkeley

    Sync Archiving node with Berkeley

    Definition of Done:

    • we have running archiving node synced with Berkeley
    • we are able to have ad-hoc db dumps with the most recent data
    • documentation how to run it locally, what are the problems, best way to run it lightly, docker?
    opened by michal0mina 0
  • Port changes to rosetta-sdk-go to our own fork

    Port changes to rosetta-sdk-go to our own fork

    We are currently using a modified version of rosetta-sdk-go for testing of constructing transactions invoving delegations. Those modifications are currently in https://github.com/ylecornec/rosetta-sdk-go, but we want to have them in https://github.com/MinaProtocol/rosetta-sdk-go.

    rosetta MinaFoundation 
    opened by kantp 6
  • Mina crashing with `Unhandled top-level exception` - Merkle_mask.Masking_merkle_tree.Make(Inputs).Attached.Dangling_parent_reference

    Mina crashing with `Unhandled top-level exception` - Merkle_mask.Masking_merkle_tree.Make(Inputs).Attached.Dangling_parent_reference

    Preliminary Checks

    • [X] This issue is not a duplicate. Before opening a new issue, please search existing issues: https://github.com/MinaProtocol/mina/issues
    • [X] This issue is not a question, feature request, RFC, or anything other than a bug report. Please post those things in GitHub Discussions: https://github.com/MinaProtocol/mina/discussions

    Description

    from logs:

    2022-12-24 03:11:45 UTC [Info] Deamon has been running for 10414 mins. Stopping now...
    2022-12-24 03:11:52 UTC [Info] Running async shutdown handler: "Close transition frontier, if exists"
    2022-12-24 03:11:52 UTC [Info] Running async shutdown handler: "Remove daemon lockfile"
    2022-12-24 03:12:38 UTC [Fatal] Unhandled top-level exception: $exn
    Generating crash report
            exn: {
      "commit_id": "25388a0fed9695e8e9d04f75f50c2bae1c9c80db",
      "sexp": [
        "monitor.ml.Error",
        [
          "Merkle_mask.Masking_merkle_tree.Make(Inputs).Attached.Dangling_parent_reference(\"0f4a1cb4-62fe-32ba-75cf-831ded748b50\", \"File \\\"src/lib/mina_lib/mina_lib.ml\\\", line 1418, characters 49-56\")"
        ],
        [
          "Raised at Merkle_mask__Masking_merkle_tree.Make.Attached.assert_is_attached in file \"src/lib/merkle_mask/masking_merkle_tree.ml\", line 118, characters 10-57",
          "Called from Merkle_mask__Masking_merkle_tree.Make.Attached.depth in file \"src/lib/merkle_mask/masking_merkle_tree.ml\" (inlined), line 133, characters 18-38",
          "Called from Staged_ledger.T.apply_diff in file \"src/lib/staged_ledger/staged_ledger.ml\", line 846, characters 45-68",
          "Called from Staged_ledger.T.apply.(fun) in file \"src/lib/staged_ledger/staged_ledger.ml\", line 1065, characters 6-282",
          "Called from Async_kernel__Deferred0.bind.(fun) in file \"src/deferred0.ml\", line 54, characters 64-69",
          "Called from Async_kernel__Job_queue.run_job in file \"src/job_queue.ml\" (inlined), line 128, characters 2-5",
          "Called from Async_kernel__Job_queue.run_jobs in file \"src/job_queue.ml\", line 168, characters 6-47",
          "Caught by monitor coda"
        ]
      ],
      "backtrace": [
        "Raised at Yojson.Safe.__ocaml_lex_read_object_sep_rec in file \"lib/read.mll\", line 712, characters 13-36",
        "Called from Yojson.Safe.__ocaml_lex_read_json_rec in file \"lib/read.mll\", line 241, characters 23-47"
      ]
    }
    2022-12-24 03:12:38 UTC [Error] Validation error: external transition with state hash $state_hash was rejected for reason "verifier error"
            state_hash: "3NK3V98THfBKPBH1BUByFH5tHjX1NWTy1ADyKK7eXBx4v7zZRpsV"
    2022-12-24 03:12:38 UTC [Error] Error in verifier verifying blockchain proof for $state_hash: $error
            state_hash: "3NK3V98THfBKPBH1BUByFH5tHjX1NWTy1ADyKK7eXBx4v7zZRpsV"
            error: {
      "commit_id": "25388a0fed9695e8e9d04f75f50c2bae1c9c80db",
      "string": "verify_blockchain_snarks timeout"
    }
    Mina process exited with status code 1
    

    Steps to Reproduce

    No repro, crashed randomly, triggered alarms.

    Expected Result

    Should not crash with Unhandled top-level exception

    Actual Result

    Crashed

    How frequently do you see this issue?

    Sometimes

    What is the impact of this issue on your ability to run a node?

    Medium

    Status

    This is half an hour later:
    
    root@mina02:~# docker exec -ti mina_mina_1 mina client status
    Using password from environment variable MINA_PRIVKEY_PASS
    Using password from environment variable MINA_PRIVKEY_PASS
    Using password from environment variable MINA_PRIVKEY_PASS
    Mina daemon status
    -----------------------------------
    
    Global number of accounts:                     136893
    Block height:                                  209731
    Max observed block height:                     209731
    Max observed unvalidated block height:         209731
    Local uptime:                                  36m24s
    Ledger Merkle root:                            jwpFcghZCGhDcptMP3TcsoqZffV1kQynFhdHjBezVxWwcTbCUdp
    Protocol state hash:                           3NLa3Nw4XugysgEtbbuNwXgUHrk6n9mRkpauXpoH4VgeHUCsR6Bh
    Chain id:                                      5f704cc0c82e0ed70e873f0893d7e06f148524e3f0bdae2afb02e7819a0c24d1
    Git SHA-1:                                     25388a0fed9695e8e9d04f75f50c2bae1c9c80db
    Configuration directory:                       /root/.mina-config
    Peers:                                         63
    User_commands sent:                            0
    SNARK worker:                                  None
    SNARK work fee:                                100000000
    Sync status:                                   Synced
    Catchup status:                                
            To build breadcrumb:           0
            To initial validate:           0
            Finished:                      13
            To download:                   0
            Waiting for parent to finish:  0
            To verify:                     0
    
    Block producers running:                       1 (B62qmFf6UZn2sg3j8bYLGmMinzS2FHX6hDM71nFxAfMhvh4hnGBtkBD)
    Coinbase receiver:                             Block producer
    Best tip consensus time:                       epoch=43, slot=3613
    Best tip global slot (across all hard-forks):  310633
    Next block will be produced in:                in 25.664m for slot: 310645 slot-since-genesis: 310645 (Generated from consensus at slot: 310622 slot-since-genesis: 310622)
    Consensus time now:                            epoch=43, slot=3616
    Consensus mechanism:                           proof_of_stake
    Consensus configuration:                       
            Delta:                     0
            k:                         290
            Slots per epoch:           7140
            Slot duration:             3m
            Epoch duration:            14d21h
            Chain start timestamp:     2021-03-17 00:00:00.000000Z
            Acceptable network delay:  3m
    
    Addresses and ports:                           
            External IP:    78.129.252.11
            Bind IP:        0.0.0.0
            Libp2p PeerID:  12D3KooWRr51cq6hHX4RP1cA8ts4KKvWSujcqGVhRJ2HUaRnNDmJ
            Libp2p port:    8302
            Client port:    8301
    
    
    
    
    ### Additional information
    
    No additional information at the moment.
    bug triage 
    opened by kucharskim 1
Releases(1.3.1.2)
  • 1.3.1.2(Oct 27, 2022)

    The O(1) Labs team is proud to announce that 1.3.1.2 is ready for use in production on Mainnet! This release includes a crucial bug discovered on mainnet which we decided to fix and release immediately. This release is identical to 1.3.1.1 with the exception of addressing this bug, and it is recommended that all node operators upgrade at their earliest convenience.

    If you run into any issues, please include Release: 1.3.1.2 in the name of any issues you create. Please report any issues you encounter here or join the Discussion!

    Bug Fixes

    • Replace hashless ledger with ledger mask in transaction validator #12047

    Complete Changelog since 1.3.1:

    https://github.com/MinaProtocol/mina/compare/1.3.1...1.3.1.2

    Upgrading & Connecting to Mainnet

    Debian Packages:

    Debian Repository: First, set up and update the stable Debian Repository for your platform with the following commands:

    sudo rm /etc/apt/sources.list.d/mina*.list
    echo "deb [trusted=yes] http://packages.o1test.net $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/mina.list
    sudo apt-get update
    

    Then, install the package(s) that you need: Mina Daemon: sudo apt-get install -y mina-mainnet=1.3.1.2-25388a0 Mina Archive: sudo apt-get install -y mina-archive=1.3.1.2-25388a0 New Mina Archive Schema: create_schema.sql

    Docker Images:

    Every docker image is built for each of the supported platforms, replace CODENAME in the images below with your choice of bionic, focal, stretch, buster, or bullseye to select the base docker image.

    Mina Daemon: minaprotocol/mina-daemon:1.3.1.2-25388a0-CODENAME-mainnet Mina Archive: minaprotocol/mina-archive:1.3.1.2-25388a0-CODENAME New Mina Archive Schema: create_schema.sql Mina Rosetta: minaprotocol/mina-rosetta:1.3.1.2-25388a0-CODENAME

    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 minaprotocol/mina-daemon:1.3.1.2-25388a0-CODENAME-devnet and go!

    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 or add PEER_LIST_URL=https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt to your .mina-env.

    If you are running the correct version on the correct network MAINNET, mina client status will show:

    Chain id:     5f704cc0c82e0ed70e873f0893d7e06f148524e3f0bdae2afb02e7819a0c24d1
    Git SHA-1:    25388a0fed9695e8e9d04f75f50c2bae1c9c80db
    
    Source code(tar.gz)
    Source code(zip)
  • 1.3.2beta2(Aug 2, 2022)

    The O(1) Labs team is proud to announce that 1.3.1beta2 is ready to test on Mainnet! This release includes a set of minor bugfixes, major testing and CI improvements, and code cleanup as we build towards the final 1.3.2 version.

    If you run into any issues, please include Release: 1.3.2beta2 in the name of any issues you create. Please report any issues you encounter here or join the Discussion!

    Bug Fixes:

    • Ensure backups always occur at midnight #10581
    • Make sure demo mode nodes stay alive with no peers #10657
    • Fix a double cache invalidation bug in the cachup code #10769
    • Fix a crash when blocks are applied to the transition frontier twice #10735
    • Fix yojson parsing for Snark_work_recieved logs #10871
    • Print "Using password from environment variable" logs when the password is actually used and not always #10865
    • Fix the "run local network" script for the latest mina version and add some features #11105 #11221
    • Fix generate-keys-and-ledger.sh script #11157
    • Fix long log lines and other logging issues #10722
    • Batch transaction tool fixes #11377
    • Resolve pickles inconsistencies #11592

    New Features:

    • Node status backend RFC #9910
    • Log when adding a block #10310
    • Cache the state body hashes for blocks to speed up GetTransitionChainProof #10297
    • Optimize libp2p/golang message parsing #10299
    • Estimate the "gap" when the missing block auditor finds a block missing #10481
    • New metrics to track the time a node spends validating messages #10158
    • Filter commands when using the replayer #10312
    • New file structure used by the Delegation Program Backend #9712
    • Extract wire types into a dedicated library #11256
    • Modular graphql serializers with updated graphql_ppx #11158
    • New key and ledger generation tools #11214

    Network Stability Improvements

    • Remove validation_callback from blocks type #10684
    • Support bitswap block encoding/decoding #10579
    • Improve message pipes using a Sink abstraction #9962
    • Extract validation logic from External_transition #10780
    • Finalize block header / block body split with new module structure #10903
    • Pass validation callbacks through the catchup process #10895

    Assorted Testing and CI/CD Improvements:

    • CI Fixes #10320 #10544 #10733 #10848 #10846 #10876 #11122 #10958
    • CI Structural Improvements #10338 #10441 #10582 #10572 #10680 #11113 #11155 #11044 #11264 #11375 #11397
    • New Documentation #9667 #9307 #10703 #10884
    • New Tests #10325 #9902 #10091 #10650 #10463 #11196
    • Nix Support #10570 #10543 #10566 #10568 #10567 #10569 #10942 #10873 #11046 #11050 #11111 #11386 #11372 #11355 #11354 #11353 #11337 #11356 #11351 #11342 #11329 #11311 #10898
    • Integration Test Fixes #10188 #10279 #10326 #10614 #10630 #10702 #10758 #10739 #10785 #10827 #10838 #11094
    • Dependency Updates #10510 #10630 #10653 #10574 #10762 #10770 #10896 #10946 #10957 #10983 #11045 #11011 #11067 #11175 #11114 #11173 #11257 #11383 #11347

    Complete Changelog since 1.3.1:

    https://github.com/MinaProtocol/mina/compare/1.3.1...1.3.2beta2

    Upgrading & Connecting to Mainnet

    Debian Packages:

    Debian Repository: First, set up and update the beta Debian Repository for your platform with the following commands:

    sudo rm /etc/apt/sources.list.d/mina*.list
    echo "deb [trusted=yes] http://packages.o1test.net $(lsb_release -cs) beta" | sudo tee /etc/apt/sources.list.d/mina-beta.list
    sudo apt-get update
    

    Then, install the package(s) that you need: Mina Daemon: sudo apt-get install -y mina-mainnet=1.3.2beta2-6e4c7fc Mina Archive: sudo apt-get install -y mina-archive=1.3.2beta2-6e4c7fc New Mina Archive Schema: create_schema.sql

    Docker Images:

    Every docker image is built for each of the supported platforms, replace CODENAME in the images below with your choice of bionic, focal, stretch, buster, or bullseye to select the base docker image.

    Mina Daemon: minaprotocol/mina-daemon:1.3.2beta2-6e4c7fc-CODENAME-mainnet Mina Archive: minaprotocol/mina-archive:1.3.2beta2-6e4c7fc-CODENAME New Mina Archive Schema: create_schema.sql Mina Rosetta: minaprotocol/mina-rosetta:1.3.2beta2-6e4c7fc-CODENAME

    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 minaprotocol/mina-daemon:1.3.2beta2-6e4c7fc-CODENAME-devnet and go!

    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 or add PEER_LIST_URL=https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt to your .mina-env.

    If you are running the correct version on the correct network MAINNET, mina client status will show:

    Chain id:     5f704cc0c82e0ed70e873f0893d7e06f148524e3f0bdae2afb02e7819a0c24d1
    Git SHA-1:    6e4c7fc28157b7316122cdb341c18aca32398526
    
    Source code(tar.gz)
    Source code(zip)
  • 1.3.1.1(Aug 2, 2022)

    The O(1) Labs team is proud to announce that 1.3.1.1 is ready for use in production on Mainnet! This release includes a crucial bug discovered during the release process for 1.3.2 which we decided to fix and release immediately in an abundance of caution. This release is identical to 1.3.1 with the exception of addressing this bug, and it is recommended that all users upgrade at their earliest convenience.

    If you run into any issues, please include Release: 1.3.1.1 in the name of any issues you create. Please report any issues you encounter here or join the Discussion!

    Bug Fixes

    • Resolve pickles inconsistencies #11592

    Complete Changelog since 1.3.1:

    https://github.com/MinaProtocol/mina/compare/1.3.1...1.3.1.1

    Upgrading & Connecting to Mainnet

    Debian Packages:

    Debian Repository: First, set up and update the stable Debian Repository for your platform with the following commands:

    sudo rm /etc/apt/sources.list.d/mina*.list
    echo "deb [trusted=yes] http://packages.o1test.net $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/mina.list
    sudo apt-get update
    

    Then, install the package(s) that you need: Mina Daemon: sudo apt-get install -y mina-mainnet=1.3.1.1-f361ba1 Mina Archive: sudo apt-get install -y mina-archive=1.3.1.1-f361ba1 New Mina Archive Schema: create_schema.sql

    Docker Images:

    Every docker image is built for each of the supported platforms, replace CODENAME in the images below with your choice of bionic, focal, stretch, buster, or bullseye to select the base docker image.

    Mina Daemon: minaprotocol/mina-daemon:1.3.1.1-f361ba1-CODENAME-mainnet Mina Archive: minaprotocol/mina-archive:1.3.1.1-f361ba1-CODENAME New Mina Archive Schema: create_schema.sql Mina Rosetta: minaprotocol/mina-rosetta:1.3.1.1-f361ba1-CODENAME

    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 minaprotocol/mina-daemon:1.3.1.1-f361ba1-CODENAME-devnet and go!

    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 or add PEER_LIST_URL=https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt to your .mina-env.

    If you are running the correct version on the correct network MAINNET, mina client status will show:

    Chain id:     5f704cc0c82e0ed70e873f0893d7e06f148524e3f0bdae2afb02e7819a0c24d1
    Git SHA-1:    f361ba19d78ba930b5b551f58d1a82942c0f724b
    
    Source code(tar.gz)
    Source code(zip)
  • 1.3.2beta1(Jul 1, 2022)

    The O(1) Labs team is proud to announce that 1.3.1beta1 is ready to test on Mainnet! This release includes a set of minor bugfixes, major testing and CI improvements, and code cleanup as we build towards the final 1.3.2 version.

    If you run into any issues, please include Release: 1.3.2beta1 in the name of any issues you create. Please report any issues you encounter here or join the Discussion.

    Bug Fixes:

    • Ensure backups always occur at midnight #10581
    • Make sure demo mode nodes stay alive with no peers #10657
    • Fix a double cache invalidation bug in the catchup code #10769
    • Fix a crash when blocks are applied to the transition frontier twice #10735
    • Fix yojson parsing for Snark_work_received logs #10871
    • Print "Using password from environment variable" logs when the password is actually used and not always #10865
    • Fix the "run local network" script for the latest mina version and add some features #11105 #11221
    • Fix generate-keys-and-ledger.sh script #11157
    • Fix long log lines and other logging issues #10722
    • Batch transaction tool fixes #11377

    New Features:

    • Node status backend RFC #9910
    • Log when adding a block #10310
    • Cache the state body hashes for blocks to speed up GetTransitionChainProof #10297
    • Optimize libp2p/golang message parsing #10299
    • Estimate the "gap" when the missing block auditor finds a block missing #10481
    • New metrics to track the time a node spends validating messages #10158
    • Filter commands when using the replayer #10312
    • New file structure used by the Delegation Program Backend #9712
    • Extract wire types into a dedicated library #11256
    • Modular graphql serializers with updated graphql_ppx #11158
    • New key and ledger generation tools #11214

    Network Stability Improvements

    • Remove validation_callback from blocks type #10684
    • Support bitswap block encoding/decoding #10579
    • Improve message pipes using a Sink abstraction #9962
    • Extract validation logic from External_transition #10780
    • Finalize block header / block body split with new module structure #10903
    • Pass validation callbacks through the catchup process #10895

    Assorted Testing and CI/CD Improvements:

    • CI Fixes #10320 #10544 #10733 #10848 #10846 #10876 #11122 #10958
    • CI Structural Improvements #10338 #10441 #10582 #10572 #10680 #11113 #11155 #11044 #11264 #11375 #11397
    • New Documentation #9667 #9307 #10703 #10884
    • New Tests #10325 #9902 #10091 #10650 #10463 #11196
    • Nix Support #10570 #10543 #10566 #10568 #10567 #10569 #10942 #10873 #11046 #11050 #11111 #11386 #11372 #11355 #11354 #11353 #11337 #11356 #11351 #11342 #11329 #11311 #10898
    • Integration Test Fixes #10188 #10279 #10326 #10614 #10630 #10702 #10758 #10739 #10785 #10827 #10838 #11094
    • Dependency Updates #10510 #10630 #10653 #10574 #10762 #10770 #10896 #10946 #10957 #10983 #11045 #11011 #11067 #11175 #11114 #11173 #11257 #11383 #11347

    Complete Changelog since 1.3.0:

    https://github.com/MinaProtocol/mina/compare/1.3.1...1.3.2beta1

    Upgrading & Connecting to Mainnet

    Debian Packages:

    Debian Repository: First, set up and update the beta Debian Repository for your platform with the following commands:

    sudo rm /etc/apt/sources.list.d/mina*.list
    echo "deb [trusted=yes] http://packages.o1test.net $(lsb_release -cs) beta" | sudo tee /etc/apt/sources.list.d/mina-beta.list
    sudo apt-get update
    

    Then, install the package(s) that you need: Mina Daemon: sudo apt-get install -y mina-mainnet=1.3.2beta1-985b1b2 Mina Archive: sudo apt-get install -y mina-archive=1.3.2beta1-985b1b2 New Mina Archive Schema: create_schema.sql

    Docker Images:

    Every docker image is built for each of the supported platforms, replace CODENAME in the images below with your choice of bionic, focal, stretch, buster, or bullseye to select the base docker image.

    Mina Daemon: minaprotocol/mina-daemon:1.3.2beta1-985b1b2-CODENAME-mainnet Mina Archive: minaprotocol/mina-archive:1.3.2beta1-985b1b2-CODENAME New Mina Archive Schema: create_schema.sql Mina Rosetta: minaprotocol/mina-rosetta:1.3.2beta1-985b1b2-CODENAME

    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 minaprotocol/mina-daemon:1.3.2beta1-985b1b2-CODENAME-devnet and go!

    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 or add PEER_LIST_URL=https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt to your .mina-env.

    If you are running the correct version on the correct network MAINNET, mina client status will show:

    Chain id:     5f704cc0c82e0ed70e873f0893d7e06f148524e3f0bdae2afb02e7819a0c24d1
    Git SHA-1:    985b1b2b0204d97eaffd093b0f55962ff576a5fb
    
    Source code(tar.gz)
    Source code(zip)
  • 1.3.2alpha1(Jun 9, 2022)

    The O(1) Labs team is proud to announce that 1.3.1alpa1 is ready to test on Devnet! This release includes a set of minor bugfixes, major testing and CI improvements, and code cleanup as we build towards the final 1.3.2 version.

    If you run into any issues, please include Release: 1.3.2alpha1 in the name of any issues you create. Please report any issues you encounter here or join the Discussion!

    Bug Fixes:

    • Ensure backups always occur at midnight #10581
    • Make sure demo mode nodes stay alive with no peers #10657
    • Fix a double cache invalidation bug in the cachup code #10769
    • Fix a crash when blocks are applied to the transition frontier twice #10735
    • Fix yojson parsing for Snark_work_recieved logs #10871
    • Print "Using password from environment variable" logs when the password is actually used and not always #10865
    • Fix the "run local network" script for the latest mina version and add some features #11105 #11221
    • Fix generate-keys-and-ledger.sh script #11157

    New Features:

    • Node status backend RFC #9910
    • Log when adding a block #10310
    • Cache the state body hashes for blocks to speed up GetTransitionChainProof #10297
    • Optimize libp2p/golang message parsing #10299
    • Estimate the "gap" when the missing block auditor finds a block missing #10481
    • New metrics to track the time a node spends validating messages #10158
    • Filter commands when using the replayer #10312
    • New file structure used by the Delegation Program Backend #9712

    Network Stability Improvements

    • Remove validation_callback from blocks type #10684
    • Support bitswap block encoding/decoding #10579
    • Improve message pipes using a Sink abstraction #9962
    • Extract validation logic from External_transition #10780
    • Finalize block header / block body split with new module structure #10903
    • Pass validation callbacks through the catchup process #10895

    Assorted Testing and CI/CD Improvements:

    • CI Fixes #10320 #10544 #10733 #10848 #10846 #10876 #11122 #10958
    • CI Structural Improvements #10338 #10441 #10582 #10572 #10680 #11113 #11155 #11044
    • New Documentation #9667 #9307 #10703 #10884
    • New Tests #10325 #9902 #10091 #10650 #10463 #11196
    • Nix Support #10570 #10543 #10566 #10568 #10567 #10569 #10942 #10873 #11046 #11050 #11111
    • Integration Test Fixes #10188 #10279 #10326 #10614 #10630 #10702 #10758 #10739 #10785 #10827 #10838 #11094
    • Dependency Updates #10510 #10630 #10653 #10574 #10762 #10770 #10896 #10946 #10957 #10983 #11045 #11011 #11067 #11175 #11114 #11173

    Complete Changelog since 1.3.0:

    https://github.com/MinaProtocol/mina/compare/1.3.1...1.3.2alpha1

    Upgrading & Connecting to Devnet

    Debian Packages:

    Debian Repository: First, set up and update the alpha Debian Repository for your platform with the following commands:

    sudo rm /etc/apt/sources.list.d/mina*.list
    echo "deb [trusted=yes] http://packages.o1test.net $(lsb_release -cs) alpha" | sudo tee /etc/apt/sources.list.d/mina-alpha.list
    sudo apt-get update
    

    Then, install the package(s) that you need: Mina Daemon: sudo apt-get install -y mina-devnet=1.3.2alpha1-ccaa43c Mina Archive: sudo apt-get install -y mina-archive=1.3.2alpha1-ccaa43c New Mina Archive Schema: create_schema.sql

    Docker Images:

    Every docker image is built for each of the supported platforms, replace CODENAME in the images below with your choice of bionic, focal, stretch, buster, or bullseye to select the base docker image.

    Mina Daemon: minaprotocol/mina-daemon:1.3.2alpha1-ccaa43c-CODENAME-devnet Mina Archive: minaprotocol/mina-archive:1.3.2alpha1-ccaa43c-CODENAME New Mina Archive Schema: create_schema.sql Mina Rosetta: minaprotocol/mina-rosetta:1.3.2alpha1-ccaa43c-CODENAME

    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 minaprotocol/mina-daemon:1.3.2alpha1-ccaa43c-CODENAME-devnet and go!

    Step by Step Guide:

    Check out our documentation for complete instructions on using this version to connect to Devnet. Docker only Make sure to run with --peer-list-url https://storage.googleapis.com/seed-lists/devnet_seeds.txt or add PEER_LIST_URL=https://storage.googleapis.com/seed-lists/devnet_seeds.txt to your .mina-env.

    If you are running the correct version on the correct network DEVNET, mina client status will show:

    Chain id:     b6ee40d336f4cc3f33c1cc04dee7618eb8e556664c2b2d82ad4676b512a82418
    Git SHA-1:    ccaa43c5a3258444d79cb0293898ee13161dfe87
    
    Source code(tar.gz)
    Source code(zip)
  • 1.3.1(May 13, 2022)

    The O(1) Labs team is proud to announce that 1.3.1 is ready for production use on Mainnet! This release includes a set of critical bugfixes and improvements that we have applied to 1.3.0 as hotfixes to ensure minimal changes between releases.

    If you run into any issues, please include Release: 1.3.1 in the name of any issues you create. Please report any issues you encounter here or join the Discussion!

    Bug Fixes:

    • Improve nonce edge case handling in rosetta #1060
    • Fix integration tests to match the deployed infrastructure #10811

    New Features:

    • Improve error handling and retry logic in the foundation delegation uptime client #10789
    • Make the new docker entrypoint script more flexible and lower disk used for logging #10841
    • Support memos in rosetta responses #10538

    Complete Changelog since 1.3.0:

    https://github.com/MinaProtocol/mina/compare/1.3.0...1.3.1

    Upgrading & Connecting to Mainnet

    Debian Packages:

    Debian Repository: First, set up and update the stable Debian Repository for your platform with the following commands:

    sudo rm /etc/apt/sources.list.d/mina*.list
    echo "deb [trusted=yes] http://packages.o1test.net $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/mina.list
    sudo apt-get update
    

    Then, install the package(s) that you need: Mina Daemon: sudo apt-get install -y mina-mainnet=1.3.1-3e3abec Mina Archive: sudo apt-get install -y mina-archive=1.3.1-3e3abec Mina Archive Schema: create_schema.sql

    Docker Images:

    Every docker image is built for each of the supported platforms, replace CODENAME in the images below with your choice of bionic, focal, stretch, buster, or bullseye to select the base docker image.

    Mina Daemon: minaprotocol/mina-daemon:1.3.1-3e3abec-CODENAME-mainnet Mina Archive: minaprotocol/mina-archive:1.3.1-3e3abec-CODENAME Mina Archive Schema: create_schema.sql Mina Rosetta: minaprotocol/mina-rosetta:1.3.1-3e3abec-CODENAME

    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 minaprotocol/mina-daemon:1.3.1-3e3abec-CODENAME-devnet and go!

    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 or add PEER_LIST_URL=https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt to your .mina-env.

    If you are running the correct version on the correct network MAINNET, mina client status will show:

    Chain id:     5f704cc0c82e0ed70e873f0893d7e06f148524e3f0bdae2afb02e7819a0c24d1
    Git SHA-1:    3e3abecd4fd197017321d61a65a25f0bbdc40f3a
    
    Source code(tar.gz)
    Source code(zip)
  • 1.3.1beta1(May 4, 2022)

    The O(1) Labs team is proud to announce that 1.3.1beta1 is ready to test on Mainnet! This release includes a set of critical bugfixes and improvements that we have applied to 1.3.0 as hotfixes to ensure minimal changes between releases. Larger changes will come along with a slower process in an incoming 1.3.2alpha1 and future 1.3.2+ releases.

    If you run into any issues, please include Release: 1.3.1beta1 in the name of any issues you create. Please report any issues you encounter here or join the Discussion!

    Bug Fixes:

    • Improve nonce edge case handling in rosetta #1060
    • Fix integration tests to match the deployed infrastructure #10811

    New Features:

    • Improve error handling and retry logic in the foundation delegation uptime client #10789
    • Make the new docker entrypoint script more flexible and lower disk used for logging #10841
    • Support memos in rosetta responses #10538

    Complete Changelog since 1.3.0:

    https://github.com/MinaProtocol/mina/compare/1.3.0...1.3.1beta1

    Upgrading & Connecting to Mainnet

    Debian Packages:

    Debian Repository: First, set up and update the beta Debian Repository for your platform with the following commands:

    sudo rm /etc/apt/sources.list.d/mina*.list
    echo "deb [trusted=yes] http://packages.o1test.net $(lsb_release -cs) beta" | sudo tee /etc/apt/sources.list.d/mina-beta.list
    sudo apt-get update
    

    Then, install the package(s) that you need: Mina Daemon: sudo apt-get install -y mina-mainnet=1.3.1beta1-529bf17 Mina Archive: sudo apt-get install -y mina-archive=1.3.1beta1-529bf17 New Mina Archive Schema: create_schema.sql

    Docker Images:

    Every docker image is built for each of the supported platforms, replace CODENAME in the images below with your choice of bionic, focal, stretch, buster, or bullseye to select the base docker image.

    Mina Daemon: minaprotocol/mina-daemon:1.3.1beta1-529bf17-CODENAME-mainnet Mina Archive: minaprotocol/mina-archive:1.3.1beta1-529bf17-CODENAME New Mina Archive Schema: create_schema.sql Mina Rosetta: minaprotocol/mina-rosetta:1.3.1beta1-529bf17-CODENAME

    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 minaprotocol/mina-daemon:1.3.1beta1-529bf17-CODENAME-devnet and go!

    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 or add PEER_LIST_URL=https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt to your .mina-env.

    If you are running the correct version on the correct network MAINNET, mina client status will show:

    Chain id:     5f704cc0c82e0ed70e873f0893d7e06f148524e3f0bdae2afb02e7819a0c24d1
    Git SHA-1:    529bf17eadca3d589d12ba6c9333b2edf13d308b
    
    Source code(tar.gz)
    Source code(zip)
  • 1.3.0(Mar 9, 2022)

    The O(1) Labs team is proud to announce that 1.3.0 has graduated to Stable and is fully ready for production use! This final 1.3.0 release includes all of the extensive performance optimizations, bug fixes, and a variety of new features that are discussed in detail below, with a summary of some of the more critical changes and links to further information about the extensive changes since 1.2.2. Our testing indicates that 1.3.0 is

    If you run into any issues, please include Release: 1.3.0 in the name of any issues you create. Please report any issues you encounter here or join the Discussion!

    Bug Fixes:

    • Fix account unlocking so that the password does not get rewritten when the key is unlocked #9720 fixed by #10190
    • Remove verifier memory stats logging to save resources #10236
    • Fix super catchup async loop to avoid busy waiting #10237
    • Cache intermediate ledger hashes to improve bootstrap resource usage #10297

    New Features:

    • Simpler optimization for staged ledger diff application (and revert buggy PRs from alpha2) #10121
    • This version supports both MINA_ environment variables and the old CODA_ prefix, but the 1.3.X will be the last releases to support CODA_. We recommend you take this opportunity to use MINA_ everywhere going forward (example: MINA_PRIVKEY_PASS, MINA_CLIENT_TRUSTLIST, etc.)
    • New command mina advanced runtime-config and related runtimeConfig graphQL query for returning the configuration the daemon is using #8648
    • Upgrade to Ocaml 4.11.2 #8898
    • Upgrade to Rust 1.52.1 #9076
    • Remove deprecated feature for swapping block producer keys at runtime to simplify daemon startup and fix demo mode #10139
    • Housekeeping #10148 #10149 #10161
    • Testing Improvements #10133 #10159 #10201 #10209 #10230
    • Support for a variety of Ubuntu and Debian platforms, with docker images for each of them #10213 #10194:
      • Debian 9 Codename "stretch" (always supported)
      • Debian 10 Codename "buster" (supported since 1.3.0alpha1)
      • Debian 11 Codename "bullseye" NEW
      • Ubuntu 18.04 Codename "bionic" (originally shared with stretch, now fully supported)
      • Ubuntu 20.04 Codename "focal" NEW
      • To use the appropriate package for your platform:
        • First uninstall mina-mainnet: sudo apt-get remove mina-mainnet
        • Then determine your release codename from the list above or by running lsb_release -cs
        • Use this name instead of stretch in the debian instructions below
    • New --node-status-url, --node-error-url, and --contact-info parameters to enable pushing node status and crash logs to a backend url. The contact info parameter is optional but allows you to provide discord or email contact in case we need further information about a crash. #9980
      • The first version of each backend is up for testing at:
        • --node-status-url https://us-central1-o1labs-192920.cloudfunctions.net/node-status-collection
        • --node-error-url https://us-central1-o1labs-192920.cloudfunctions.net/node-error-collection
    • Support $PEER_LIST_URL, $LOG_LEVEL, $FILE_LOG_LEVEL, and a new flag $VERBOSE in the dockerfile entrypoint #10242 #10245

    Archive Node:

    • New archive node schema for optimized balance queries #9859

    Rosetta Support:

    • New docker image mina-rosetta-ubuntu which includes the mina daemon, mina-archive, and mina-rosetta along with entrypoint scripts to fill the archive database with blocks back to genesis and start all 3 daemons in tandem.
    • Replace pending status with null or empty #10219 #10257
    • Index nonces with the replayer for fast archive retrieval #10258
    • Rosetta work has been ongoing for some time, and it has taken 26 pull requests to get all of the features supported and the kinks ironed out, but we are happy with the result. See the README for more about working with mina-rosetta.
    • Those 26 PRs: #9797 #9802 #9811 #9839 #9841 #9848 #9859 #9871 #9880 #9881 #9884 #9890 #9896 #9899 #9904 #9908 #9911 #9885 #9954 #9967 #9969 #9965 #10019 #10044 #9932 #10104

    Complete Changelog since 1.2.2:

    https://github.com/MinaProtocol/mina/compare/1.2.2...1.3.0

    Upgrading & Connecting to Devnet

    Debian Packages:

    Debian Repository: First, set up and update the stable Debian Repository for your platform with the following commands:

    sudo rm /etc/apt/sources.list.d/mina*.list
    echo "deb [trusted=yes] http://packages.o1test.net $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/mina.list
    sudo apt-get update
    

    Then, install the package(s) that you need: Mina Daemon: sudo apt-get install -y mina-mainnet=1.3.0-9b0369c Mina Archive: sudo apt-get install -y mina-archive=1.3.0-9b0369c New Mina Archive Schema: create_schema.sql

    Docker Images:

    Every docker image is built for each of the supported platforms, replace CODENAME in the images below with your choice of bionic, focal, stretch, buster, or bullseye to select the base docker image.

    Mina Daemon: minaprotocol/mina-daemon:1.3.0-9b0369c-CODENAME-mainnet Mina Archive: minaprotocol/mina-archive:1.3.0-9b0369c-CODENAME New Mina Archive Schema: create_schema.sql Mina Rosetta: minaprotocol/mina-rosetta:1.3.0-9b0369c-CODENAME

    Or you can use the new latest image tag for all of the above images (ex. minaprotocol/mina-daemon:latest) which is equivalent to 1.3.0-9b0369c-bullseye-mainnet and will be automatically updated for stable releases going forward.

    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 minaprotocol/mina-daemon:1.3.0-9b0369c-CODENAME-devnet and go!

    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 or add PEER_LIST_URL=https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt to your .mina-env.

    If you are running the correct version on the correct network MAINNET, mina client status will show:

    Chain id:     5f704cc0c82e0ed70e873f0893d7e06f148524e3f0bdae2afb02e7819a0c24d1
    Git SHA-1:    9b0369c27bb85c8ab2f8725c6e977eb27b53b826
    
    Source code(tar.gz)
    Source code(zip)
  • 1.3.0beta5(Mar 2, 2022)

    The O(1) Labs team is proud to announce that results from the latest beta tests have been great, but we have even more improvements available in beta5! This 1.3.0beta5 includes all of the extensive improvements from beta4 as well as improved performance when serving bootstrap requests (great for seed nodes!) and additional optimizations to rosetta and mina-archive for fast retrieval of historical account nonces. Below is a summary of some of the more critical changes, and links to further information about the extensive changes since 1.2.2.

    If you run into any issues, please include Release: 1.3.0beta5 in the name of any issues you create. Please report any issues you encounter here or join the Discussion!

    Bug Fixes:

    • Fix account unlocking so that the password does not get rewritten when the key is unlocked #9720 fixed by#10190
    • Remove verifier memory stats logging to save resources #10236
    • Fix super catchup async loop to avoid busy waiting #10237
    • Cache intermediate ledger hashes to improve bootstrap resource usage #10297

    New Features:

    • Simpler optimization for staged ledger diff application (and revert buggy PRs from alpha2) #10121
    • This version supports both MINA_ environment variables and the old CODA_ prefix, but the 1.3.X will be the last releases to support CODA_. We recommend you take this opportunity to use MINA_ everywhere going forward (example: MINA_PRIVKEY_PASS, MINA_CLIENT_TRUSTLIST, etc.)
    • New command mina advanced runtime-config and related runtimeConfig graphQL query for returning the configuration the daemon is using #8648
    • Upgrade to Ocaml 4.11.2 #8898
    • Upgrade to Rust 1.52.1 #9076
    • Remove deprecated feature for swapping block producer keys at runtime to simplify daemon startup and fix demo mode #10139
    • Housekeeping #10148 #10149 #10161
    • Testing Improvements #10133 #10159 #10201 #10209 #10230
    • Support for a variety of Ubuntu and Debian platforms, with docker images for each of them #10213 #10194:
      • Debian 9 Codename "stretch" (always supported)
      • Debian 10 Codename "buster" (supported since 1.3.0alpha1)
      • Debian 11 Codename "bullseye" NEW
      • Ubuntu 18.04 Codename "bionic" (originally shared with stretch, now fully supported)
      • Ubuntu 20.04 Codename "focal" NEW
      • To use the appropriate package for your platform:
        • First uninstall mina-mainnet: sudo apt-get remove mina-mainnet
        • Then determine your release codename from the list above or by running lsb_release -cs
        • Use this name instead of stretch in the debian instructions below
    • New --node-status-url, --node-error-url, and --contact-info parameters to enable pushing node status and crash logs to a backend url. The contact info parameter is optional but allows you to provide discord or email contact in case we need further information about a crash. #9980
      • The first version of each backend is up for testing at:
        • --node-status-url https://us-central1-o1labs-192920.cloudfunctions.net/node-status-collection
        • --node-error-url https://us-central1-o1labs-192920.cloudfunctions.net/node-error-collection
    • Support $PEER_LIST_URL, $LOG_LEVEL, $FILE_LOG_LEVEL, and a new flag $VERBOSE in the dockerfile entrypoint #10242 #10245

    Archive Node:

    • New archive node schema for optimized balance queries #9859

    Rosetta Support:

    • New docker image mina-rosetta-ubuntu which includes the mina daemon, mina-archive, and mina-rosetta along with entrypoint scripts to fill the archive database with blocks back to genesis and start all 3 daemons in tandem.
    • Replace pending status with null or empty #10219 #10257
    • Index nonces with the replayer for fast archive retrieval #10258
    • Rosetta work has been ongoing for some time, and it has taken 26 pull requests to get all of the features supported and the kinks ironed out, but we are happy with the result. See the README for more about working with mina-rosetta.
    • Those 26 PRs: #9797 #9802 #9811 #9839 #9841 #9848 #9859 #9871 #9880 #9881 #9884 #9890 #9896 #9899 #9904 #9908 #9911 #9885 #9954 #9967 #9969 #9965 #10019 #10044 #9932 #10104

    Complete Changelog since 1.2.2:

    The change set is far too large for github to display, but the github comparison still shows the immense scale of 1.3.0 and why we are so excited to get it out into your hands to test. https://github.com/MinaProtocol/mina/compare/1.2.2...1.3.0beta5 For more information about the changes included in more recent updates like 1.3.0beta4, see the previous release notes

    Upgrading & Connecting to Mainnet

    Debian Packages:

    Debian Repository: First, set up and update the beta Debian Repository for your platform. Replace the word CODENAME with the appropriate codename for your machine, one of bionic, focal, stretch, buster, or bullseye and run:

    echo "deb [trusted=yes] http://packages.o1test.net CODENAME beta" | sudo tee /etc/apt/sources.list.d/mina-beta.list
    sudo apt-get update
    

    Then, install the package(s) that you need: Mina Daemon: sudo apt-get install -y mina-mainnet=1.3.0beta5-18ab1dc Mina Archive: `sudo apt-get install -y mina-archive=1.3.0beta5-18ab1dc New Mina Archive Schema: create_schema.sql

    Docker Images:

    Every docker image is built for each of the supported platforms, replace CODENAME in the images below with your choice of bionic, focal, stretch, buster, or bullseye to select the base docker image. Mina Daemon: minaprotocol/mina-daemon:1.3.0beta5-18ab1dc-CODENAME-mainnet Mina Archive: minaprotocol/mina-archive:1.3.0beta5-18ab1dc-CODENAME New Mina Archive Schema: create_schema.sql Mina Rosetta: minaprotocol/mina-rosetta:1.3.0beta5-18ab1dc-CODENAME

    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 minaprotocol/mina-daemon:1.3.0beta5-18ab1dc-CODENAME-devnet and go!

    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 MAINNET, mina client status will show:

    Chain id:     5f704cc0c82e0ed70e873f0893d7e06f148524e3f0bdae2afb02e7819a0c24d1
    Git SHA-1:    18ab1dc105bb6b0d5efa2ad97632f0fb676646bd
    
    Source code(tar.gz)
    Source code(zip)
  • 1.3.0beta4(Feb 15, 2022)

    The O(1) Labs team is proud to announce that results from the latest beta tests have been great, but we have even more improvements available in beta4! This 1.3.0beta4 includes all of the extensive improvements from beta1 as well as a fix for the longstanding bug with mina accounts unlock, support for many new platforms including Ubuntu 20.04, support for the same set of environment variables in mina.service and docker, and further optimizations for the async scheduler. Below is a summary of some of the more critical changes (more detailed documentation dating back to 1.2.2 coming soon).

    If you run into any issues, please include Release: 1.3.0beta4 in the name of any issues you create. Please report any issues you encounter here or join the Discussion!

    Bug Fixes:

    • Fix account unlocking so that the password does not get rewritten when the key is unlocked #9720 fixed by#10190
    • Remove verifier memory stats logging to save resources #10236
    • Fix super catchup async loop to avoid busy waiting #10237

    New Features:

    • Simpler optimization for staged ledger diff application (and revert buggy PRs from alpha2) #10121
    • This version supports both MINA_ environment variables and the old CODA_ prefix, but the 1.3.X will be the last releases to support CODA_. We recommend you take this opportunity to use MINA_ everywhere going forward (example: MINA_PRIVKEY_PASS, MINA_CLIENT_TRUSTLIST, etc.)
    • New command mina advanced runtime-config and related runtimeConfig graphQL query for returning the configuration the daemon is using #8648
    • Upgrade to Ocaml 4.11.2 #8898
    • Upgrade to Rust 1.52.1 #9076
    • Remove deprecated feature for swapping block producer keys at runtime to simplify daemon startup and fix demo mode #10139
    • Housekeeping #10148 #10149 #10161
    • Testing Improvements #10133 #10159 #10201 #10209 #10230
    • Support for a variety of Ubuntu and Debian platforms, with docker images for each of them #10213 #10194:
      • Debian 9 Codename "stretch" (always supported)
      • Debian 10 Codename "buster" (supported since 1.3.0alpha1)
      • Debian 11 Codename "bullseye" NEW
      • Ubuntu 18.04 Codename "bionic" (originally shared with stretch, now fully supported)
      • Ubuntu 20.04 Codename "focal" NEW
      • To use the appropriate package for your platform:
        • First uninstall mina-mainnet: sudo apt-get remove mina-mainnet
        • Then determine your release codename from the list above or by running lsb_release -cs
        • Use this name instead of stretch in the debian instructions below
    • New --node-status-url, --node-error-url, and --contact-info parameters to enable pushing node status and crash logs to a backend url. The contact info parameter is optional but allows you to provide discord or email contact in case we need further information about a crash. #9980
      • The first version of the backend is up for testing at https://us-central1-o1labs-192920.cloudfunctions.net/node-error-collection
    • Support $PEER_LIST_URL, $LOG_LEVEL, $FILE_LOG_LEVEL, and a new flag $VERBOSE in the dockerfile entrypoint #10242

    Archive Node:

    • New archive node schema for optimized balance queries #9859

    Rosetta Support:

    • New docker image mina-rosetta-ubuntu which includes the mina daemon, mina-archive, and mina-rosetta along with entrypoint scripts to fill the archive database with blocks back to genesis and start all 3 daemons in tandem.
    • Rosetta work has been ongoing for some time, and it has taken 26 pull requests to get all of the features supported and the kinks ironed out, but we are happy with the result. See the README for more about working with mina-rosetta.
    • Those 26 PRs: #9797 #9802 #9811 #9839 #9841 #9848 #9859 #9871 #9880 #9881 #9884 #9890 #9896 #9899 #9904 #9908 #9911 #9885 #9954 #9967 #9969 #9965 #10019 #10044 #9932 #10104

    Complete Changelog since 1.2.2:

    The change set is far too large for github to display, but the github comparison still shows the immense scale of 1.3.0 and why we are so excited to get it out into your hands to test. https://github.com/MinaProtocol/mina/compare/1.2.2...1.3.0beta4 For more information about the changes included in more recent updates like 1.3.0beta2, see the previous release notes

    Upgrading & Connecting to Devnet

    Debian Packages:

    Debian Repository: First, set up and update the beta Debian Repository for your platform. Replace the word CODENAME with the appropriate codename for your machine, one of bionic, focal, stretch, buster, or bullseye and run:

    echo "deb [trusted=yes] http://packages.o1test.net CODENAME beta" | sudo tee /etc/apt/sources.list.d/mina-beta.list
    sudo apt-get update
    

    Then, install the package(s) that you need: Mina Daemon: sudo apt-get install -y mina-mainnet=1.3.0beta4-202caa6 Mina Archive: sudo apt-get install -y mina-archive=1.3.0beta4-202caa6 New Mina Archive Schema: create_schema.sql

    Docker Images:

    Every docker image is built for each of the supported platforms, replace CODENAME in the images below with your choice of bionic, focal, stretch, buster, or bullseye to select the base docker image. Mina Daemon: minaprotocol/mina-daemon:1.3.0beta4-202caa6-CODENAME-mainnet Mina Archive: minaprotocol/mina-archive:1.3.0beta4-202caa6-CODENAME New Mina Archive Schema: create_schema.sql Mina Rosetta: minaprotocol/mina-rosetta:1.3.0beta4-202caa6-CODENAME

    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 minaprotocol/mina-daemon:1.3.0beta4-202caa6-CODENAME-devnet and go!

    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 MAINNET, mina client status will show:

    Chain id:     5f704cc0c82e0ed70e873f0893d7e06f148524e3f0bdae2afb02e7819a0c24d1
    Git SHA-1:    202caa6a090311d75cd35192d85dd77985921522
    
    Source code(tar.gz)
    Source code(zip)
  • 1.3.0beta2(Feb 12, 2022)

    The O(1) Labs team is proud to announce that the initial beta1 release has been running well but we have even more improvements availible in beta2! This 1.3.0beta2 includes all of the extensive improvements from beta1 as well as a fix for the longstanding bug with mina accounts unlock, as well as support for many new platforms including Ubuntu 20.04 as promised. Below is a summary of some of the more critical changes (more detailed documentation dating back to 1.2.2 coming soon).

    If you run into any issues, please include Release: 1.3.0beta2 in the name of any issues you create. Please report any issues you encounter here or join the Discussion!

    Bug Fixes:

    • Fix account unlocking so that the password does not get rewritten when the key is unlocked #9720 fixed by#10190

    New Features:

    • Simpler optimization for staged ledger diff application (and revert buggy PRs from alpha2) #10121
    • This version supports both MINA_ environment variables and the old CODA_ prefix, but the 1.3.X will be the last releases to support CODA_. We recommend you take this opportunity to use MINA_ everywhere going forward (example: MINA_PRIVKEY_PASS, MINA_CLIENT_TRUSTLIST, etc.)
    • New command mina advanced runtime-config and related runtimeConfig graphQL query for returning the configuration the daemon is using #8648
    • Upgrade to Ocaml 4.11.2 #8898
    • Upgrade to Rust 1.52.1 #9076
    • Remove deprecated feature for swapping block producer keys at runtime to simplify daemon startup and fix demo mode #10139
    • Housekeeping #10148 #10149 #10161
    • Testing Improvements #10133 #10159 #10201 #10209
    • Support for a variety of Ubuntu and Debian platforms, with docker images for each of them #10213 #10194:
      • Debian 9 Codename "stretch" (always supported)
      • Debian 10 Codename "buster" (supported since 1.3.0alpha1)
      • Debian 11 Codename "bullseye" NEW
      • Ubuntu 18.04 Codename "bionic" (originally shared with stretch, now fully supported)
      • Ubuntu 20.04 Codename "focal" NEW
      • To use the appropriate package for your platform:
        • First uninstall mina-mainnet: sudo apt-get remove mina-mainnet
        • Then determine your release codename from the list above or by running lsb_release -cs
        • Use this name instead of stretch in the debian instructions below
    • New --node-status-url, --node-error-url, and --contact-info parameters to enable pushing node status and crash logs to a backend url. The contact info parameter is optional but allows you to provide discord or email contact in case we need further information about a crash. #9980
      • The first version of the backend is up for testing at https://us-central1-o1labs-192920.cloudfunctions.net/node-error-collection

    Archive Node:

    • New archive node schema for optimized balance queries #9859

    Rosetta Support:

    • New docker image mina-rosetta-ubuntu which includes the mina daemon, mina-archive, and mina-rosetta along with entrypoint scripts to fill the archive database with blocks back to genesis and start all 3 daemons in tandem.
    • Rosetta work has been ongoing for some time, and it has taken 26 pull requests to get all of the features supported and the kinks ironed out, but we are happy with the result. See the README for more about working with mina-rosetta.
    • Those 26 PRs: #9797 #9802 #9811 #9839 #9841 #9848 #9859 #9871 #9880 #9881 #9884 #9890 #9896 #9899 #9904 #9908 #9911 #9885 #9954 #9967 #9969 #9965 #10019 #10044 #9932 #10104

    Complete Changelog since 1.2.2:

    The change set is far too large for github to display, but the github comparison still shows the immense scale of 1.3.0 and why we are so excited to get it out into your hands to test. https://github.com/MinaProtocol/mina/compare/1.2.2...1.3.0beta2 For more information about the changes included in more recent updates like 1.3.0beta1, see the previous release notes

    Upgrading & Connecting to Devnet

    Debian Packages:

    Debian Repository: First, set up and update the beta Debian Repository for your platform. Replace the word CODENAME with the appropriate codename for your machine, one of bionic, focal, stretch, buster, or bullseye and run:

    echo "deb [trusted=yes] http://packages.o1test.net CODENAME beta" | sudo tee /etc/apt/sources.list.d/mina-beta.list
    sudo apt-get update
    

    Then, install the package(s) that you need: Mina Daemon: sudo apt-get install -y mina-mainnet=1.3.0beta2-9dec613 Mina Archive: sudo apt-get install -y mina-archive=1.3.0beta2-9dec613 New Mina Archive Schema: create_schema.sql

    Docker Images:

    Every docker image is built for each of the supported platforms, replace CODENAME in the images below with your choice of bionic, focal, stretch, buster, or bullseye to select the base docker image. Mina Daemon: minaprotocol/mina-daemon:1.3.0beta2-9dec613-CODENAME-mainnet Mina Archive: minaprotocol/mina-archive:1.3.0beta2-9dec613-CODENAME New Mina Archive Schema: create_schema.sql Mina Rosetta: minaprotocol/mina-rosetta:1.3.0beta2-9dec613-CODENAME

    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 minaprotocol/mina-daemon:1.3.0beta2-9dec613-CODENAME-devnet and go!

    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 MAINNET, mina client status will show:

    Chain id:     5f704cc0c82e0ed70e873f0893d7e06f148524e3f0bdae2afb02e7819a0c24d1
    Git SHA-1:    9dec6138776f66275ac1401b6b8ea4f66e264bad
    
    Source code(tar.gz)
    Source code(zip)
  • 1.3.0beta1(Feb 4, 2022)

    The O(1) Labs team is proud to announce that the 1.3.0 release has graduated to Beta! This 1.3.0beta1 includes a variety of changes back to even before mainnet launch like support for MINA_ environment variables, major changes across all of our testing and infrastructure, archive node optimizations, Rosetta support, and bugfixes and performance improvements across the codebase. Below is a summary of some of the more critical changes (more detailed documentation coming soon).

    If you run into any issues, please include Release: 1.3.0beta1 in the name of any issues you create. Please report any issues you encounter here or join the Discussion!

    New Features:

    • Simpler optimization for staged ledger diff application (and revert buggy PRs from alpha2) #10121
    • This version supports both MINA_ environment variables and the old CODA_ prefix, but the 1.3.X will be the last releases to support CODA_. We recommend you take this opportunity to use MINA_ everywhere going forward (example: MINA_PRIVKEY_PASS, MINA_CLIENT_TRUSTLIST, etc.)
    • Support for Debian Buster in addition to Ubuntu18.04/ Debian Stretch. Official support for 20.04 is coming soon, hopefully before 1.3.0 stable. To use the new buster-based package or images, replace stretch with buster in either the docker image tag or the debian repository setup command.
    • New command mina advanced runtime-config and related runtimeConfig graphQL query for returning the configuration the daemon is using #8648
    • Upgrade to Ocaml 4.11.2 #8898
    • Upgrade to Rust 1.52.1 #9076
    • Remove deprecated feature for swapping block producer keys at runtime to simplify daemon startup and fix demo mode #10139

    Archive Node:

    • New archive node schema for optimized balance queries #9859

    Rosetta Support:

    • New docker image mina-rosetta-ubuntu which includes the mina daemon, mina-archive, and mina-rosetta along with entrypoint scripts to fill the archive database with blocks back to genesis and start all 3 daemons in tandem.
    • Rosetta work has been ongoing for some time, and it has taken 26 pull requests to get all of the features supported and the kinks ironed out, but we are happy with the result. See the README for more about working with mina-rosetta.
    • Those 26 PRs: #9797 #9802 #9811 #9839 #9841 #9848 #9859 #9871 #9880 #9881 #9884 #9890 #9896 #9899 #9904 #9908 #9911 #9885 #9954 #9967 #9969 #9965 #10019 #10044 #9932 #10104

    Complete Changelog since 1.2.2:

    The change set is far too large for github to display, but the github comparison still shows the immense scale of 1.3.0 and why we are so excited to get it out into your hands to test. https://github.com/MinaProtocol/mina/compare/1.2.2...1.3.0beta1 For more information about the changes included in more recent alphas like 1.3.0alpha3, see the previous release notes

    Upgrading & Connecting to Devnet

    Debian Packages:

    Debian Repository: First, set up and update the beta Debian Repository for your platform (stretch or buster, ubuntu 20.04 focal coming soon)

    echo "deb [trusted=yes] http://packages.o1test.net stretch beta" | sudo tee /etc/apt/sources.list.d/mina-beta.list
    sudo apt-get update
    

    Then, install the package(s) that you need: Mina Daemon: sudo apt-get install -y mina-mainnet=1.3.0beta1-087f715 Mina Archive: sudo apt-get install -y mina-archive=1.3.0beta1-087f715 New Mina Archive Schema: create_schema.sql

    Docker Images:

    Mina Daemon: minaprotocol/mina-daemon:1.3.0beta1-087f715-stretch-mainnet or for a Debian Buster image: minaprotocol/mina-daemon:1.3.0beta1-087f715-buster-mainnet Mina Archive: minaprotocol/mina-archive:1.3.0beta1-087f715-buster New Mina Archive Schema: create_schema.sql Mina Rosetta: minaprotocol/mina-rosetta-ubuntu:1.3.0beta1-087f715-stretch Do not worry that it is labeled "Stretch", this image is based on Ubuntu 20.04 Focal Fossa.

    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 minaprotocol/mina-daemon:1.3.0beta1-087f715-buster-devnet and go!

    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 MAINNET, mina client status will show:

    Chain id:     5f704cc0c82e0ed70e873f0893d7e06f148524e3f0bdae2afb02e7819a0c24d1
    Git SHA-1:    087f71500820c335f1afef9a4bee9a92b5034c70
    
    Source code(tar.gz)
    Source code(zip)
  • 1.3.0alpha3(Feb 1, 2022)

    The O(1) Labs team is proud to announce that we have resolved the outstanding catchup and snark worker issues with 1.3.0alpha2. This alpha3 release includes some smaller fixes for our CI / infrastructure as well as updates for mina-archive and a new mina-rosetta docker image. Take a look at the changelog below to start testing 1.3.0alpha3!

    Of the changes included in 1.3.0alpha3, we are most hopeful that the staged ledger diff optimization will help keep nodes in sync with the tip of the chain, even under higher transaction load, though investigations are ongoing for how to further improve block production and gossip performance.

    If you run into any issues, please include Release: 1.3.0alpha3 in the name of any issues you create. Please report any issues you encounter here or join the Discussion!

    New Features for alpha3:

    • Simpler optimization for staged ledger diff application (and revert buggy PRs from alpha2) #10121

    Testing Improvements:

    • Fix Python dependency for integration tests #10095
    • Fix make clean #9952

    Archive Node:

    • New archive node schema for optimized balance queries

    Rosetta Support:

    • New docker image mina-rosetta-ubuntu which includes the mina daemon, mina-archive, and mina-rosetta along with entrypoint scripts to fill the archive database with blocks back to genesis and start all 3 daemons in tandem.
    • Rosetta work has been ongoing for some time, and it has taken 26 pull requests to get all of the features supported and the kinks ironed out, but we are happy with the result. See the README for more about working with mina-rosetta.
    • Those 26 PRs: #9797 #9802 #9811 #9839 #9841 #9848 #9859 #9871 #9880 #9881 #9884 #9890 #9896 #9899 #9904 #9908 #9911 #9885 #9954 #9967 #9969 #9965 #10019 #10044 #9932 #10104

    Highlighted New Features introduced in alpha1:

    • This version supports both MINA_ environment variables and the old CODA_ prefix, but the 1.3.X will be the last releases to support CODA_. We recommend you take this opportunity to use MINA_ everywhere going forward (example: MINA_PRIVKEY_PASS, MINA_CLIENT_TRUSTLIST, etc.)
    • Support for Debian Buster in addition to Ubuntu18.04/ Debian Stretch. Official support for 20.04 is coming soon, hopefully before 1.3.0 stable. To use the new buster-based package or images, replace stretch with buster in either the docker image tag or the debian repository setup command.

    Complete Changelog since 1.3.0alpha1:

    The change set is far too large for github to display, but the github comparison still shows the immense scale of 1.3.0 and why we are so excited to get it out into your hands to test. https://github.com/MinaProtocol/mina/compare/1.3.0alpha1...1.3.0alpha3 For more information about the changes included in 1.3.0alpha1, see the previous release notes

    Upgrading & Connecting to Devnet

    Debian Packages:

    Debian Repository: First, set up and update the alpha Debian Repository for your platform (stretch or buster, ubuntu 20.04 coming soon)

    echo "deb [trusted=yes] http://packages.o1test.net stretch alpha" | sudo tee /etc/apt/sources.list.d/mina-alpha.list
    sudo apt-get update
    

    Then, install the package(s) that you need: Mina Daemon: sudo apt-get install -y mina-devnet=1.3.0alpha3-f7b7dc9 Mina Archive: sudo apt-get install -y mina-archive=1.3.0alpha3-f7b7dc9 New Mina Archive Schema: create_schema.sql

    Docker Images:

    Mina Daemon: minaprotocol/mina-daemon:1.3.0alpha3-f7b7dc9-stretch-devnet or for a Debian Buster image: minaprotocol/mina-daemon:1.3.0alpha3-f7b7dc9-buster-devnet Mina Archive: minaprotocol/mina-archive:1.3.0alpha3-f7b7dc9-buster New Mina Archive Schema: create_schema.sql Mina Rosetta: minaprotocol/mina-rosetta-ubuntu:1.3.0alpha3-f7b7dc9-stretch Do not worry that it is labeled "Stretch", this image is based on Ubuntu 20.04. The default entrypoint connects to mainnet, use docker run --entrypoint ./docker-devnet-start.sh for devnet.

    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 minaprotocol/mina-daemon:1.3.0alpha3-f7b7dc9-buster-devnet and go!

    Step by Step Guide:

    Check out our documentation for complete instructions on using this version to connect to Devnet. Docker only 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 DEVNET, mina client status will show:

    Chain id:     b6ee40d336f4cc3f33c1cc04dee7618eb8e556664c2b2d82ad4676b512a82418
    Git SHA-1:    f7b7dc9e55687d3906dd4176d782502f7495c83f
    

    Upgrading & Connecting to Mainnet

    As this release may improve block production on mainnet, we are releasing installation instructions for mainnet early. Use alpha releases on mainnet on one block producing node only, and with caution. Please report back your results, if testing goes well and the archive node changes are ready we would like to graduate 1.3.0 to beta status very soon.

    Debian Repository: First, set up and update the alpha Debian Repository for your platform, via the same instructions shown above. Then, install the mainnet mina daemon package: Mina Daemon: sudo apt-get install -y mina-mainnet=1.3.0alpha3-f7b7dc9

    Mainnet Docker Images:

    Mina Daemon: minaprotocol/mina-daemon:1.3.0alpha3-f7b7dc9-stretch-mainnet or for a Debian Buster image: minaprotocol/mina-daemon:1.3.0alpha3-f7b7dc9-buster-mainnet

    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 MAINNET, mina client status will show:

    Chain id:     5f704cc0c82e0ed70e873f0893d7e06f148524e3f0bdae2afb02e7819a0c24d1
    Git SHA-1:    f7b7dc9e55687d3906dd4176d782502f7495c83f
    
    Source code(tar.gz)
    Source code(zip)
  • 1.3.0alpha2(Jan 15, 2022)

    The O(1) Labs team is proud to announce that we have additional features from the compatible branch ready for alpha testing on Devnet in the form of this 1.3.0alpha2 release. The scale of the changes since 1.2.2 is massive after months of work across many different parts of the application, and we have not yet fully documented those changes beyond what git will show. Look out for more thorough release notes in the next beta if not before. Below you can read the full scope of changes between 1.3.0alpha1 and 1.3.0alpha2.

    Of the changes included in 1.3.0alpha2, we are most hopeful that the staged ledger diff optimizations in #9782 will help keep nodes in sync with the tip of the chain, even under higher transaction load.

    KNOWN ISSUES

    This release can get stuck in catchup and can crash the snark worker on certain types of transactions. See https://github.com/MinaProtocol/mina/releases/tag/1.3.0alpha3 for fixes to those issues.

    If you run into any issues, please include Release: 1.3.0alpha2 in the name of any issues you create. Please report any issues you encounter here or join the Discussion!

    New Features for alpha2:

    • Initial support for bitswap in libp2p helper #9626
    • Fix SetGatingConfig RPC banning behavior #9895
    • Choose the best VRF evaluation for a given slot rather than the first #8327
    • Optimized Staged Ledger Diff Application #9782 #10018

    Testing Improvements:

    • Catchup Failure Unit Tests #9889
    • Utility File Integration Tests #9955
    • Fix race condition in Integration Tests #10009
    • Peer Graph Connectivity Integration Test #9977
    • Remove verbose log #10007
    • Unit test for SetGatingConfig #9895
    • Unit test for sparse ledger subset extraction #9782

    Archive Node:

    Some important archive node changes, including a new database schema, are not yet included in this release, so we advise anyone that is waiting for the 1.3.0+ archive node to use Alpha3 instead which finally includes the 1.3.0 schema!

    Highlighted New Features introduced in alpha1:

    • This version supports both MINA_ environment variables and the old CODA_ prefix, but the 1.3.X will be the last releases to support CODA_. We recommend you take this opportunity to use MINA_ everywhere going forward (example: MINA_PRIVKEY_PASS, MINA_CLIENT_TRUSTLIST, etc.)
    • Support for Debian Buster in addition to Ubuntu18.04/ Debian Stretch. Official support for 20.04 is coming soon, hopefully before 1.3.0 stable. To use the new buster-based package or images, replace stretch with buster in either the docker image tag or the debian repository setup command.

    Complete Changelog since 1.3.0alpha1:

    The change set is far too large for github to display, but the github comparison still shows the immense scale of 1.3.0 and why we are so excited to get it out into your hands to test. https://github.com/MinaProtocol/mina/compare/1.3.0alpha1...1.3.0alpha2 For more information about the changes included in 1.3.0alpha1, see the previous release notes

    Upgrading & Connecting to Devnet

    Debian Packages:

    Debian Repository: First, set up and update the alpha Debian Repository for your platform (stretch or buster, ubuntu 20.04 coming soon)

    echo "deb [trusted=yes] http://packages.o1test.net stretch alpha" | sudo tee /etc/apt/sources.list.d/mina-alpha.list
    sudo apt-get update
    

    Then, install the package(s) that you need: Mina Daemon: sudo apt-get install -y mina-devnet=1.3.0alpha2-2717385 Mina Archive: NOT READY YET - see the note above for more details

    Docker Images:

    Mina Daemon: minaprotocol/mina-daemon:1.3.0alpha2-2717385-stretch-devnet or for a Debian Buster image: minaprotocol/mina-daemon:1.3.0alpha2-2717385-buster-devnet Mina Archive: NOT READY YET - see the note above for more details

    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 minaprotocol/mina-daemon:1.3.0alpha2-2717385-buster-devnet and go!

    Step by Step Guide:

    Check out our documentation for complete instructions on using this version to connect to Devnet. Docker only 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 DEVNET, mina client status will show:

    Chain id:     b6ee40d336f4cc3f33c1cc04dee7618eb8e556664c2b2d82ad4676b512a82418
    Git SHA-1:    271738546ff38127772494949de5c23fb6336727
    

    Upgrading & Connecting to Mainnet

    As this release may improve block production on mainnet, we are releasing installation instructions for mainnet early. Use alpha releases on mainnet on one block producing node only, and with caution. Please report back your results, if testing goes well and the archive node changes are ready we would like to graduate 1.3.0 to beta status very soon.

    Debian Repository: First, set up and update the alpha Debian Repository for your platform, via the same instructions shown above. Then, install the mainnet mina daemon package: Mina Daemon: sudo apt-get install -y mina-mainnet=1.3.0alpha2-2717385

    Mainnet Docker Images:

    Mina Daemon: minaprotocol/mina-daemon:1.3.0alpha2-2717385-stretch-mainnet or for a Debian Buster image: minaprotocol/mina-daemon:1.3.0alpha2-2717385-buster-mainnet

    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 MAINNET, mina client status will show:

    Chain id:     5f704cc0c82e0ed70e873f0893d7e06f148524e3f0bdae2afb02e7819a0c24d1
    Git SHA-1:    271738546ff38127772494949de5c23fb6336727
    
    Source code(tar.gz)
    Source code(zip)
  • 1.3.0alpha1(Dec 17, 2021)

    The O(1) Labs team is proud to announce that the compatible branch is ready for alpha testing on Devnet in the form of this 1.3.0alpha1 release. The scale of the changes since 1.2.2 is massive after months of work across most of our tooling and many different parts of the application. The 1,424 Commits and 1,589 changed files is a testament to the amount of hard work the team at O(1) Labs, along with contractors and community contributors have put in since even before Mainnet launch. Our internal testing has been very positive, and a large amount of that work was to improve our ability to ship quality, well-tested, maintainable code. Obviously with that much change there are bound to be new bugs that we have yet to discover but we invite you to try this new alpha out on our Devnet network.

    If you run into any issues, please include Release: 1.3.0alpha1 in the name of any issues you create. Please report any issues you encounter here or join the Discussion!

    Highlighted New Features:

    • This version supports both MINA_ environment variables and the old CODA_ prefix, but the 1.3.X will be the last releases to support CODA_. We recommend you take this opportunity to use MINA_ everywhere going forward (example: MINA_PRIVKEY_PASS, MINA_CLIENT_TRUSTLIST, etc.)
    • Support for Debian Buster in addition to Ubuntu18.04/ Debian Stretch. Official support for 20.04 is coming soon, hopefully before 1.3.0 stable. To use the new buster-based package or images, replace stretch with buster in either the docker image tag or the debian repository setup command.

    Archive Node:

    Some important archive node changes, including a new database schema, are not yet included in this release, so we advise anyone that is waiting for the 1.3.0+ archive node to wait for a future alpha with the final database schema and more complete migration instructions.

    Complete Changelog since 1.2.2:

    The change set is far too large for github to display, but the github comparison still shows the immense scale of 1.3.0 and why we are so excited to get it out into your hands to test. https://github.com/MinaProtocol/mina/compare/1.2.2...1.3.0alpha1 For more information about the changes included in 1.2.2, see the previous release notes

    Upgrading & Connecting

    Debian Packages:

    Debian Repository: First, Set up and update the alpha Debian Repository for your platform (stretch or buster, ubuntu 20.04 coming soon)

    echo "deb [trusted=yes] http://packages.o1test.net stretch alpha" | sudo tee /etc/apt/sources.list.d/mina-alpha.list
    sudo apt-get update
    

    Then, install the package(s) that you need: Mina Daemon: sudo apt-get install -y mina-devnet=1.3.0alpha1-98ec1bb Mina Archive: NOT READY YET - see the note above for more details

    Docker Images:

    Mina Daemon: minaprotocol/mina-daemon:1.3.0alpha1-98ec1bb-stretch-devnet or for a Debian Buster image: minaprotocol/mina-daemon:1.3.0alpha1-98ec1bb-buster-devnet Mina Archive: NOT READY YET - see the note above for more details

    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 minaprotocol/mina-daemon:1.3.0alpha1-98ec1bb-devnet and go!

    Step by Step Guide:

    Check out our documentation for complete instructions on using this version to connect to Devnet. Docker only 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:     b6ee40d336f4cc3f33c1cc04dee7618eb8e556664c2b2d82ad4676b512a82418
    Git SHA-1:    98ec1bb9f01856d79171d4b7f2689ad17b1b751d
    
    Source code(tar.gz)
    Source code(zip)
  • 1.2.2(Nov 19, 2021)

    The O(1) Labs team is proud to announce that we're graduating the 1.2.1 Beta to Stable (as 1.2.2 with a new commit hash just to make sure apt consistently selects the correct package). This release includes the async VRF and responsiveness fixes, as well as some additional UX improvements and some retry logic for the uptime service. 1.2.2 includes the more comprehensive changes to improve graphQL/networking responsiveness as promised, as well as a new async VRF computation process to keep VRF evaluations off of the main thread (especially for block producers with many delegates). These changes have been very effective on Devnet and Mainnet and we feel confident urging all users to upgrade from 1.2.0.

    If you run into any issues, please include Release: 1.2.2 in the name of any issues you create. Please report any issues you encounter here or join the Discussion!

    Stability Improvements and Bug Fixes:

    • Async scheduler changes to improve responsiveness #9416 and related metrics #9545
    • Stop restarting the Verifier every 15 minutes #9565 #9568

    New Features:

    • Asynchronous VRF evaluation process #9409
    • Change the docker entrypoint script so that the last few lines of log output are less likely to get cut off #9568
    • Properly tag releases in CI and push them directly to minaprotocol/ #9566
    • Deprecate the setStaking graphql endpoint and mina client set-staking command #9717
    • 5 minutes of retries for sending snark work to the foundation delegation backend #9764

    Archive Node:

    • Update mina-extract-blocks to properly set the block_winner instead of always using creator_id #9567 (Thanks @kobigurk for making the change and @jrwashburn for bringing attention to this bug)

    Complete Changelog since 1.2.0:

    https://github.com/MinaProtocol/mina/compare/1.2.0...1.2.2 For more information about the changes included in 1.2.0, see the previous release notes

    Upgrading & Connecting

    Debian Repository: First, Set up and update the stable Debian Repository

    echo "deb [trusted=yes] http://packages.o1test.net stretch stable" | sudo tee /etc/apt/sources.list.d/mina.list
    sudo apt-get update
    

    Then, install the package(s) that you need: Daemon Package: sudo apt-get install -y mina-mainnet=1.2.2-feee67c Archive Node Package: sudo apt-get install -y mina-archive=1.2.2-feee67c

    Docker Images:

    Daemon Image: minaprotocol/mina-daemon:1.2.2-feee67c-mainnet Archive Image: minaprotocol/mina-archive:1.2.2-feee67c

    Devnet:

    This release does also improve the experience for nodes on devnet, simply replace mainnet with devnet in the package or docker image name above to use this release on devnet.

    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 minaprotocol/mina-daemon:1.2.2-feee67c-devnet and go!

    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:    feee67cc2836bf12e792510a2440f28a0275740e
    
    Source code(tar.gz)
    Source code(zip)
  • 1.2.1beta1(Nov 10, 2021)

    The O(1) Labs team is proud to announce that we're graduating the 1.2.1 alpha to Beta, with some additional UX improvements and some retry logic for the uptime service. 1.2.1beta1 includes the more comprehensive changes to improve graphQL/networking responsiveness as promised, as well as a new async VRF computation process to keep VRF evaluations off of the main thread (especially for block producers with many delegates). These changes have been very effective on Devnet thusfar and initial Mainnet testing looks equally positive.

    If you run into any issues, please include Release: 1.2.1beta1 in the name of any issues you create. Please report any issues you encounter here or join the Discussion!

    Stability Improvements and Bug Fixes:

    • Async scheduler changes to improve responsiveness #9416 and related metrics #9545
    • Stop restarting the Verifier every 15 minutes #9565 #9568

    New Features:

    • Asynchronous VRF evaluation process #9409 with improved ux #9792
    • Change the docker entrypoint script so that the last few lines of log output are less likely to get cut off #9568
    • Properly tag releases in CI and push them directly to minaprotocol/ #9566
    • Deprecate the setStaking graphql endpoint and mina client set-staking command #9717
    • 5 minutes of retries for sending snark work to the foundation delegation backend #9764

    Archive Node:

    • Update mina-extract-blocks to properly set the block_winner instead of always using creator_id #9567 (Thanks @kobigurk for making the change and @jrwashburn for bringing attention to this bug)

    Complete Changelog since 1.2.0:

    https://github.com/MinaProtocol/mina/compare/1.2.0...1.2.1beta1 For more information about the changes included in 1.2.0, see the previous release notes

    Upgrading & Connecting

    Debian Packages:

    Debian Repository: First, Set up and update the beta Debian Repository

    echo "deb [trusted=yes] http://packages.o1test.net stretch beta" | sudo tee /etc/apt/sources.list.d/mina-beta.list
    sudo apt-get update
    

    Then, install the package(s) that you need: Mina Daemon: sudo apt-get install -y mina-mainnet=1.2.1beta1-45440dc Mina Archive: sudo apt-get install -y mina-archive=1.2.1beta1-45440dc

    Docker Images:

    Mina Daemon: minaprotocol/mina-daemon:1.2.1beta1-45440dc-mainnet Mina Archive: minaprotocol/mina-archive:1.2.1beta1-45440dc

    Devnet:

    This release does also improve the experience for nodes on devnet, simply replace mainnet with devnet in the package or docker image name above to use this beta on devnet.

    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 minaprotocol/mina-daemon:1.2.1beta1-45440dc-devnet and go!

    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:    45440dc7e4c5dac480dd075357c1d369b893fbe1
    
    Source code(tar.gz)
    Source code(zip)
  • 1.2.0(Oct 25, 2021)

    As many of you are already aware, we have been working to stablize version 1.2.0 for quite some time. The O(1) Labs Team is proud to announce that 1.2.0 Stable is ready for use in production on Mainnet! 1.2.0 contains a variety of Quality of Life Improvements for node operators, including some new tools, graphql queries, cli commands, metrics, not to mention the countless efforts that went on behind the scenes to keep Mainnet and our team at O(1) Labs running smoothly.

    In addition, 1.2.0 includes the client for the proposed update to the Mina Foundation Delegation Program (some further server work is required before the updated program launches, stay tuned for more announcements from the Mina Foundation on this topic). You can test the client implementation and configuration yourself as described below in the New Features section.

    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 with transactionStatus #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 #8814
    • mina advanced hash-transaction is a new command for hashing transactions #8294
    • mina 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 command mina 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 #8264
    • mina advanced send-rosetta-transaction now immediately sends the transaction instead of waiting for the command to exit #8186
    • mina 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 to mina 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
    • Improved Mina Foundation Uptime Tracking! #9499
      • This feature no longer requires importing your keypair, now supports a new flag --uptime-submitter-key which takes the path to your private key, just like --block-producer-key.
      • To test the new system, pass in the following information to the daemon:
        • The path to the private key with the flag --uptime-submitter-key </path/to/private/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=My_V3ry_S3cure_Password. If you are using a .mina-env file on Debian then this value should be on its own line, not included in EXTRA_FLAGS=.
    • New environment variables in .mina-env for use with the mina systemd service #9375 #9533
      • 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
      • Block production is disabled by default, use EXTRA_FLAGS as shown below to configure your block producer keys
      • LOG_LEVEL variable to set the daemon log level, with the default value Info
      • FILE_LOG_LEVEL variable to set the daemong file log level, with the default value Debug
      • Remove --generate-genesis-proof true as it no longer does anything in this mina version
      • Changed WantedBy to default.target instead of multi-user.target as the latter does not work in user services (as many users have reported)
    EXTRA_FLAGS="--block-producer-key /home/mina/my-wallet --uptime-submitter-key /home/mina/my-wallet --uptime-url http://34.134.227.208/v1/submit"
    UPTIME_PRIVKEY_PASS=My_V3ry_S3cure_Password
    MINA_PRIVKEY_PASS=My_V3ry_S3cure_Password
    CODA_PRIVKEY_PASS=My_V3ry_S3cure_Password
    LOG_LEVEL=Info
    FILE_LOG_LEVEL=Debug
    

    Note: MINA_PRIVKEY_PASS will not be supported until the 1.3.0+ Mina Daemon releases but it won't hurt to start providing it now.

    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
    • 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
    • Mitigation for the offline issue (crash when node has been running for >34 hours) #9301 #9387 add --stop-time flag to configure this behavior #9506
    • Hardening for the transaction mempool and mitigations to prevent broadcasting bad transactions. See our Retrospective for more information about our approach with these fixes and why they were important.

    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
    • Dockerfile now uses UserID 50000 instead of 192920 #9435 #9326
    • Debian stretch archive image no longer requires man to use postgres package #9410
    • Fix $KEY_NAME quoting #9446

    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 #8343
    • mina-replayer improvements #8329 #8717 #8739 #8751
    • Tools for patching bad balances from before the 1.1.5 archive node release #8583 #8611 #8732 #8815 See complete instructions for a walkthrough on how to patch your archive.

    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

    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 62 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 #9222 #9390 #9436 #9408 #9377

    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: https://github.com/MinaProtocol/mina/compare/1.1.5...16d41f46cf7b8dc24f35286ed84299eb45c8e23c
    • March 4-April 6: 16d41f46cf7b8dc24f35286ed84299eb45c8e23c...0e14abfc7934433aa59119dc28a9987143c20ff8
    • April 6-May 3: 0e14abfc7934433aa59119dc28a9987143c20ff8...19a5324355832d88c47aa7f256560169922db66d
    • May 3-June 2: https://github.com/MinaProtocol/mina/compare/19a5324355832d88c47aa7f256560169922db66d...1.1.6alpha4
    • June 2-June 28: https://github.com/MinaProtocol/mina/compare/1.1.6alpha4...1.2.0beta1

    It may also be useful to read the changes from each alpha and beta release individually to understand how we got to this result: 1.1.6alpha4 1.1.6alpha5 1.2.0alpha1 1.2.0beta1 1.2.0beta2 1.2.0beta4 1.2.0beta5 1.2.0beta8

    Upgrading & Connecting

    Debian Packages:

    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).

    Repository Setup:

    To allow for installation of mina stretch stable builds:

    echo "deb [trusted=yes] http://packages.o1test.net stretch stable" | sudo tee /etc/apt/sources.list.d/mina.list
    sudo apt-get update
    

    Installation:

    Mina Daemon: sudo apt-get install -y mina-mainnet=1.2.0-fe51f1e Mina Archive: sudo apt-get install -y mina-archive=1.2.0-fe51f1e Mina Generate Keypair: sudo apt-get install -y mina-generate-keypair=1.2.0-fe51f1e Archive Node Schema for initializing postgres: create_schema.sql

    Docker Images:

    Mina Daemon: minaprotocol/mina-daemon:1.2.0-fe51f1e-mainnet Mina Archive: minaprotocol/mina-archive:1.2.0-fe51f1e Mina Generate Keypair: minaprotocol/mina-generate-keypair:1.2.0-fe51f1e Archive Node 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 minaprotocol/mina-daemon:1.2.0-fe51f1e-devnet and go!

    NEW Devnet:

    This release is the first to support the newly relaunched Devnet. To use any of the above packages or docker images with devnet instead of mainnet, 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 the backend verification system is ready. In the meantime any version of the sidecar since ~1.1.6 should work the same way, and the data produced by the sidecar still counts towards foundation delegation elegibility. Stay tuned on Discord for further announcements from Mina Foundation in regards to the Delegation Program.

    Questions and Feedback

    If you discover any issues or regressions from 1.1.8, please report them so we can look into it. Please include the mina version output or 1.2.0 in the issue title/description so we can more easily sort through the issues. For questions and feedback, please go to the #mainnet-block-producers channel on our Discord or comment on the Github Discussion for this release, we're excited to hear about your experience with this new build!

    Step by Step Guide:

    Check out our documentation for complete instructions on using this version to connect to Mainnet.

    If you are running the correct version on the correct network, mina client status will show:

    Chain id:     5f704cc0c82e0ed70e873f0893d7e06f148524e3f0bdae2afb02e7819a0c24d1
    Git SHA-1:    fe51f1ef5cfbcb4d5f559af39080963cf28ff1af
    
    Source code(tar.gz)
    Source code(zip)
  • 1.2.1alpha1(Oct 15, 2021)

    The O(1) Labs team is proud to announce that we're moving onto the 1.2.1 range of releases in the anticipation of 1.2.0beta8 soon graduating to stable. This first 1.2.1 Alpha release 1.2.1alpha1 includes the more comprehensive changes to improve graphQL/networking responsiveness as promised, as well as a new async VRF computation process to keep VRF evaluations off of the main thread (especially for block producers with many delegates).

    This alpha release includes all of the changes from 1.2.0beta8, including the new uptime tracking system, but it is not recommended to use this feature on devnet unless its for testing against your own backend. Otherwise you can expect the same workflow as using 1.2.0beta8 with no new breaking changes.

    If you run into any issues, please include Release: 1.2.1alpha1 in the name of any issues you create. Please report any issues you encounter here or join the Discussion!

    Stability Improvements and Bug Fixes:

    • Async scheduler changes to improve responsiveness #9416 and related metrics #9545
    • Stop restarting the Verifier every 15 minutes #9565 #9568

    New Features:

    • Asynchronous VRF evaluation process #9409
    • Change the docker entrypoint script so that the last few lines of log output are less likely to get cut off #9568
    • Properly tag releases in CI and push them directly to minaprotocol/ #9566

    Archive Node:

    • Update mina-extract-blocks to properly set the block_winner instead of always using creator_id #9567 (Thanks @kobigurk for making the change and @jrwashburn for bringing attention to this bug)

    Complete Changelog since 1.2.0beta8:

    https://github.com/MinaProtocol/mina/compare/1.2.0beta8...1.2.1alpha1 For more information about the changes included in 1.2.0beta8, see the previous release notes

    Upgrading & Connecting

    Debian Repository: First, Set up and update the alpha Debian Repository

    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
    

    Then, install the package(s) that you need: Daemon Package: sudo apt-get install -y mina-devnet=1.2.1alpha1-1f98b8b Archive Node Package: sudo apt-get install -y mina-archive=1.2.1alpha1-1f98b8b

    Docker Images:

    Daemon Image: minaprotocol/mina-daemon:1.2.1alpha1-1f98b8b-devnet Archive Image: minaprotocol/mina-archive:1.2.1alpha1-1f98b8b

    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 minaprotocol/mina-daemon:1.2.1alpha1-1f98b8b-devnet and go!

    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/seed-lists/devnet_seeds.txt.

    If you are running the correct version on the correct network, mina client status will show:

    Chain id:     b6ee40d336f4cc3f33c1cc04dee7618eb8e556664c2b2d82ad4676b512a82418
    Git SHA-1:    1f98b8be743e78993670e7b148be72c894b212e3
    
    Source code(tar.gz)
    Source code(zip)
  • 1.2.0beta8(Oct 5, 2021)

    The O(1) Labs team is making progress on the networking issues reported since 1.2.0beta2/3 but so far, we are struggling to solve the issue beyond about 40 hours of uptime. So to mitigate this, and to still provide an overall better experience than 1.1.X, we have improved the automated shutdown behavior to be configurable. The default stop time is after 24 hours of uptime, use the new --stop-time flag to reconfigure this value. The next release, 1.2.1alpha1, will include more comprehensive changes to improve responsiveness.

    Now for the good news! 1.2.0beta8 also includes improvements to the new features from 1.2.0beta5. 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 the Mina Foundation 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-key </path/to/private/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. You no longer need to import your key to use it in this way, --uptime-submitter-key works identically to --block-producer-key. See https://github.com/MinaProtocol/mina/pull/9499 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.0beta8 in the name of any issues you create. Please report any issues you encounter here: https://github.com/MinaProtocol/mina/issues/new/choose

    Stability Improvements and Bug Fixes:

    • Add --stop-time flag to configure the automatic restart behavior. Defaults to 24 hours. #9506

    New Features:

    • Improved Mina Foundation Uptime Tracking! #9499
      • This feature no longer requires importing your keypair, now supports a new flag --uptime-submitter-key which takes the path to your private key, just like --block-producer-key.
      • To test the new system, pass in the following information to the daemon:
        • The path to the private key with the flag --uptime-submitter-key </path/to/private/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 in EXTRA_FLAGS=.
    • New environment variables in .mina-env for use with the mina systemd service #9375 #9533
      • 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 is no longer supported, use EXTRA_FLAGS to configure block producer keys
      • LOG_LEVEL variable to set the daemon log level, with the default value Info
      • FILE_LOG_LEVEL variable to set the daemong file log level, with the default value Debug
      • 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)

    Complete .mina-env example to take advantage of both of the above features:

    EXTRA_FLAGS="--block-producer-key /home/mina/my-wallet --uptime-submitter-key /home/mina/my-wallet --uptime-url http://34.134.227.208/v1/submit"
    UPTIME_PRIVKEY_PASS=My_V3ry_S3cure_Password
    MINA_PRIVKEY_PASS=My_V3ry_S3cure_Password
    LOG_LEVEL=Info
    FILE_LOG_LEVEL=Debug
    

    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:

    https://github.com/MinaProtocol/mina/compare/1.2.0beta5...1.2.0beta8 For more information about the changes included in 1.2.0beta5, see the previous release notes The beta6 and beta7 releases contain improvements to the transaction inclusion logic for block producers, and it is highly recommended that you upgrade to , 1.1.8, 1.2.0beta7, or this release. See our Retrospective for more information about our approach with these fixes and why they're important.

    Upgrading & Connecting

    Daemon Release Artifacts:

    Docker Image: gcr.io/o1labs-192920/mina-daemon:1.2.0beta8-5b35b27-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.0beta8-5b35b27
    

    Archive Node Release Artifacts:

    Docker Image: gcr.io/o1labs-192920/mina-archive:1.2.0beta8-5b35b27 Debian Package: sudo apt-get install -y mina-archive-mainnet=1.2.0beta8-5b35b27 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.0beta8-5b35b27-devnet and go!

    NEW Devnet:

    This release is the first to support the newly relaunched Devnet #9523. To use any of the above packages or docker images with devnet instead of mainnet, 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. In the meantime any version of the sidecar since ~1.1.6 should work the same way, and the data produced by the sidecar still counts towards foundation delegation elegibility.

    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:    5b35b27df8e137ddbe88874b4efdcf4bb2cb4ae9
    
    Source code(tar.gz)
    Source code(zip)
  • 1.2.0beta7(Sep 23, 2021)

    After discovering the issue with transaction inclusion logic, which we addressed with the 1.2.0beta6 release, our team took a closer look at the remaining transaction logic and added some more aggressive tests to that area of the code in order to ensure there were no remaining bugs. In that process, the team found additional transaction inclusion logic issues, covering other edge cases that were not triggered on our dev network yet. In an abundance of caution, we have provided this 1.2.0beta7 update to prevent larger issues, and the new logic has been thoroughly tested. To instead run this same change on the latest 1.1.7 stable version, see Release 1.1.8.

    Complete Changelog since 1.2.0beta6:

    https://github.com/MinaProtocol/mina/compare/1.2.0beta6...1.2.0beta7 For more information about the changes included in other 1.2.0 beta releases, see the previous release notes

    Upgrading & Connecting

    Daemon Release Artifacts:

    Docker Image: gcr.io/o1labs-192920/mina-daemon-baked:1.2.0beta7-9b5bbaa-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.0beta7-9b5bbaa
    

    Archive Node Release Artifacts:

    Docker Image: gcr.io/o1labs-192920/mina-archive:1.2.0beta7-9b5bbaa Debian Package: sudo apt-get install -y mina-archive-mainnet=1.2.0beta7-9b5bbaa 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:    9b5bbaa17a77a15b559400dec578236f782655bc
    
    Source code(tar.gz)
    Source code(zip)
  • 1.1.8(Sep 23, 2021)

    After discovering the issue with transaction inclusion logic, which we addressed with the 1.1.7 release, our team took a closer look at the remaining transaction logic and added some more aggressive tests to that area of the code in order to ensure there were no remaining bugs. In that process, the team found additional transaction inclusion logic issues, covering other edge cases that were not triggered on our dev network yet. In an abundance of caution, we have provided a stable fix on top of the existing 1.1.7 codebase, tagged as 1.1.8. 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.0beta7.

    Complete Changelog since 1.1.7:

    https://github.com/MinaProtocol/mina/compare/1.1.7...1.1.8

    Upgrading & Connecting

    Daemon Release Artifacts:

    Docker Image: gcr.io/o1labs-192920/mina-daemon-baked:1.1.8-b10c0e3-mainnet Debian Package: sudo apt-get install -y mina-mainnet=1.1.8-b10c0e3

    Archive Node Release Artifacts:

    Docker Image: gcr.io/o1labs-192920/mina-archive:1.1.8-b10c0e3 Debian Package: sudo apt-get install -y mina-archive=1.1.8-b10c0e3 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:    b10c0e3db9112a2a8aebc3eec7c6d2570fcc4044
    
    Source code(tar.gz)
    Source code(zip)
  • 1.2.0beta6(Sep 16, 2021)

    While working on stabilizing 1.2.0, the O(1) Labs team discovered an issue with the transaction inclusion logic. In an abundance of caution, we have provided this 1.2.0beta6 update to prevent larger issues, and the new logic has been thoroughly tested. To instead run this same change on the latest 1.1.5 stable version, see Release 1.1.7.

    Complete Changelog since 1.2.0beta5:

    https://github.com/MinaProtocol/mina/compare/1.2.0beta5...1.2.0beta6 For more information about the changes included in other 1.2.0 beta releases, see the previous release notes

    Upgrading & Connecting

    Daemon Release Artifacts:

    Docker Image: gcr.io/o1labs-192920/mina-daemon:1.2.0beta6-bee023a-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.0beta6-bee023a
    

    Archive Node Release Artifacts:

    Docker Image: gcr.io/o1labs-192920/mina-archive:1.2.0beta6-bee023a Debian Package: sudo apt-get install -y mina-archive-mainnet=1.2.0beta6-bee023a 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:    bee023a25b8884813dc14a843c569dc297878c0a
    
    Source code(tar.gz)
    Source code(zip)
  • 1.1.7(Sep 16, 2021)

    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:

    https://github.com/MinaProtocol/mina/compare/1.1.5...1.1.7

    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
    
    Source code(tar.gz)
    Source code(zip)
  • 1.2.0beta5(Sep 5, 2021)

    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 https://github.com/MinaProtocol/mina/pull/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 in MINA_FLAGS=.
    • New environment variables in .mina-env for use with the mina systemd service https://github.com/MinaProtocol/mina/pull/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)

    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:

    https://github.com/MinaProtocol/mina/compare/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
    
    Source code(tar.gz)
    Source code(zip)
  • 1.2.0beta4(Sep 4, 2021)

    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 https://github.com/MinaProtocol/mina/pull/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 in MINA_FLAGS=.
    • New environment variables in .mina-env for use with the mina systemd service https://github.com/MinaProtocol/mina/pull/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)

    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:

    https://github.com/MinaProtocol/mina/compare/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
    
    Source code(tar.gz)
    Source code(zip)
  • 1.2.0beta3(Aug 25, 2021)

    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 https://github.com/MinaProtocol/mina/pull/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 in MINA_FLAGS=.

    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:

    https://github.com/MinaProtocol/mina/compare/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
    
    Source code(tar.gz)
    Source code(zip)
  • 1.2.0beta2(Jul 15, 2021)

    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:

    https://github.com/MinaProtocol/mina/compare/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
    
    Source code(tar.gz)
    Source code(zip)
  • 1.2.0beta1(Jun 29, 2021)

    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 with transactionStatus #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 #8814
    • mina advanced hash-transaction is a new command for hashing transactions #8294
    • mina 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 command mina 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 #8264
    • mina advanced send-rosetta-transaction now immediately sends the transaction instead of waiting for the command to exit #8186
    • mina 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 to mina 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 #8343
    • mina-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:

    • New mina-bp-stats sidecar application and package #8122 #8750 (already released as v1.1.6)

    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: https://github.com/MinaProtocol/mina/compare/1.1.5...16d41f46cf7b8dc24f35286ed84299eb45c8e23c
    • March 4-April 6: 16d41f46cf7b8dc24f35286ed84299eb45c8e23c...0e14abfc7934433aa59119dc28a9987143c20ff8
    • April 6-May 3: 0e14abfc7934433aa59119dc28a9987143c20ff8...19a5324355832d88c47aa7f256560169922db66d
    • May 3-June 2: https://github.com/MinaProtocol/mina/compare/19a5324355832d88c47aa7f256560169922db66d...1.1.6alpha4
    • June 2-June 28: https://github.com/MinaProtocol/mina/compare/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.0alpha1 1.2.0beta1

    Upgrading & Connecting

    Daemon Release Artifacts:

    Docker Image: gcr.io/o1labs-192920/mina-daemon:1.2.0beta1-c856692-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.0beta1-c856692
    

    Archive Node Release Artifacts:

    Docker Image: gcr.io/o1labs-192920/mina-archive:1.2.0beta1-c856692-mainnet Debian Package: sudo apt-get install -y mina-archive-mainnet=1.2.0beta1-c856692 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.0beta1-c856692-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.0beta1-c856692

    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:    c856692fddc525a673ba075f714811b5c50bd3a7
    
    Source code(tar.gz)
    Source code(zip)
  • 1.2.0alpha1(Jun 18, 2021)

    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: https://github.com/MinaProtocol/mina/compare/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
    
    Source code(tar.gz)
    Source code(zip)
Cryptocurrency application that displays instant cryptocurrency prices and reads prices with the Google Text-to-Speech library.

?? Cryptocurrency Price App ?? ◽ Cryptocurrency application that displays instant cryptocurrency prices and reads prices with the Google Text-to-Speec

Furkan Mert 2 Nov 8, 2021
Cryptocurrency with implementet Blockchain

Cryptocurrency with implementet Blockchain

Mario 1 Mar 24, 2022
Run with one command grafana, prometheus, and a python script to collect and display cryptocurrency prices and track your wallet balance.

CryptoWatch Track your favorite crypto coin price and your wallet balance. Install Create .env: ADMIN_USER=admin ADMIN_PASSWORD=admin Configure you

Rafael Zimmermann 13 Dec 13, 2022
A bot for FaucetCrypto a cryptocurrency faucet. The bot can currently claim PTC ads, main reward and all the shortlinks except exe.io and fc.lc.

A bot for the high paying popular cryptocurrency faucet Faucet Crypto. The bot is built using Python and Selenium, currently it is under active develo

Sourav R S 81 Dec 19, 2022
SHIBgreen is a cryptocurrency forked from Chia and uses the Proof of Space and Time consensus algorithm

SHIBgreen is a cryptocurrency forked from Chia and uses the Proof of Space and Time consensus algorithm

null 13 Jul 13, 2022
This python module can analyse cryptocurrency news for any number of coins given and return a sentiment. Can be easily integrated with a Trading bot to keep an eye on the news.

Python script that analyses news headline or body sentiment and returns the overall media sentiment of any given coin. It can take multiple coins an

null 185 Dec 22, 2022
GreenDoge is a modern community-centric green cryptocurrency based on a proof-of-space-and-time consensus algorithm.

GreenDoge Blockchain Download GreenDoge blockchain GreenDoge is a modern community-centric green cryptocurrency based on a proof-of-space-and-time con

null 40 Sep 11, 2022
Stor is a community-driven green cryptocurrency based on a proof of space and time consensus algorithm.

Stor Blockchain Stor is a community-driven green cryptocurrency based on a proof of space and time consensus algorithm. For more information, see our

Stor Network 15 May 18, 2022
A Docker image for plotting and farming the Chia™ cryptocurrency on one computer or across many.

An easy-to-use WebUI for crypto plotting and farming. Offers Plotman, MadMax, Chiadog, Bladebit, Farmr, and Forktools in a Docker container. Supports Chia, Cactus, Chives, Flax, Flora, HDDCoin, Maize, N-Chain, Staicoin, and Stor among others.

Guy Davis 328 Jan 1, 2023
Cryptocurrency trading bot with a graphical user interface with support for simulations, backtests, optimizations, and running live bots.

Cryptocurrency trading bot with a graphical user interface with support for simulations, backtests, optimizations, and running live bots.

Mihir Shrestha 834 Dec 30, 2022
Aggregate real-time market data from cryptocurrency exchanges, filter, sort and format as TradingView watchlists.

tvbuddy Aggregate real-time market data from cryptocurrency exchanges, filter, sort and format as TradingView watchlists. Developed and tested on Pyth

Ossian Winter 2 Jan 7, 2022
Gold(Gold) is a modern cryptocurrency built from scratch, designed to be efficient, decentralized, and secure

gold-blockchain (Gold) Gold(Gold) is a modern cryptocurrency built from scratch, designed to be efficient, decentralized, and secure. Here are some of

zcomputerwiz 3 Mar 9, 2022
Ceres is a combine harvester designed to harvest plots for Chia blockchain and its forks using proof-of-space-and-time(PoST) consensus algorithm.

Ceres Combine-Harvester Ceres is a combine harvester designed to harvest plots for Chia blockchain and its forks using proof-of-space-and-time(PoST) c

null 38 Nov 14, 2022
Calculate your taxes from cryptocurrency gains

CoinTaxman helps you to bring your income from crypto trading, lending, ... into your tax declaration.

Jeppy 118 Dec 26, 2022
Signarly is a cryptocurrency trading bot.

Signarly is a cryptocurrency trading bot.

Zakaria EL Mesaoudi 5 Oct 6, 2022
Python Dash app that tracks whale activity in cryptocurrency markets.

Introduction Welcome! This is a Python-based Dash app meant to track whale activity in buy / sell walls on crypto-currency exchanges (presently just o

Paul Jeffries 549 Dec 25, 2022
This is a simple application to generate HD wallet addresses for cryptocurrency coins.

HD-Wallet-Address This is a mini service to generate addresses in the master HD-Wallet. It will use py_crypto_hd_wallet package as a base. Prerequisit

Amin Abbasi 1 Dec 16, 2021
Python Cryptocurrency with stealth addresses

Python Cryptocurrency with stealth addresses. Goal is to have create a cryptocurency that hides transactions totally. I.E. Cant see ammount sent, to who, or from who.

null 3 Aug 4, 2022
PytoPrice is an automation program to fetch the latest price of a cryptocurrency of your choice at a user-customizable update interval.

PyToPrice (Python Crypto Price) PytoPrice is an automation program to fetch the latest price of a cryptocurrency of your choice at a user-customizable

Peter 1 Jun 16, 2022