Mina Rust Node v0.17.0 - First Official Release (Devnet)
We are excited to announce the first official release of the Mina Rust node
(v0.17.0), a Rust implementation of the Mina Protocol. This marks an important
step following the handover of the project from Mina Foundation to o1Labs, as
we continue to advance and maintain this alternative node implementation for
the Mina community.
Important: This release is currently intended for Devnet only. We recommend
running the node on Devnet as we continue testing and optimizing for mainnet
deployment.
Key Highlights
This release brings compatibility with the latest OCaml node version
3.2.0-beta2, ensuring seamless integration with the existing Mina network on
Devnet.
What's New in v0.17.0
- Full compatibility with OCaml node releases from 3.2.0-alpha1 through
3.2.0-beta2 - Docker images now available for both ARM64 and AMD64 architectures with
automatic CI deployment - Complete Docusaurus-based documentation website with comprehensive guides for
node operators, developers, and researchers - New
mina misc mina-encrypted-key
command to generate encrypted keys with
passwords, matching OCaml node functionality - Enhanced Makefile targets including
run-block-producer
for easy
devnet setup andgenerate-block-producer-key
for key generation - Multi-platform CI support (Ubuntu 22.04, Ubuntu 24.04, Ubuntu 24.04 ARM,
macOS) - Updated proof systems to match the OCaml node version
- Rebranding from OpenMina to the official "Mina Rust node"
For more details, refer to the CHANGELOG on the repository:
https://github.com/o1-labs/mina-rust/blob/v0.17.0/CHANGELOG.md#v0170
You can follow the team work on the dashboards
https://github.com/orgs/o1-labs/projects/24
Getting Started
The website is available on https://o1-labs.github.io/mina-rust.
We recommend starting with Docker for the easiest deployment experience on Devnet:
- Docker Setup Guide: https://o1-labs.github.io/mina-rust/docs/node-operators/docker-usage
Docker images are available at:
- Node: https://hub.docker.com/r/o1labs/mina-rust
- Frontend: https://hub.docker.com/r/o1labs/mina-rust-frontend
Running Different Node Types
- Block Producer Setup: https://o1-labs.github.io/mina-rust/docs/node-operators/block-producer
- Archive Node Setup: https://o1-labs.github.io/mina-rust/docs/node-operators/archive-node
Developer Resources
- GraphQL API Documentation: https://o1-labs.github.io/mina-rust/docs/developers/graphql-api
- Archive Database Queries: https://o1-labs.github.io/mina-rust/docs/developers/archive-database-queries
Looking Ahead
This is our first official release under o1Labs stewardship, and we are
committed to delivering regular updates with performance improvements, new
features, and enhanced stability.
We plan to maintain a consistent release cycle to ensure the node stays current
with network requirements and community needs. Future releases will expand
support beyond Devnet as the implementation matures.
Community and Support
We welcome feedback from node operators and block producers as you deploy and
test the Mina Rust node on Devnet. Your input is invaluable as we continue to
improve and optimize the implementation. Please report any issues or
suggestions through our GitHub repository.
Thank you for your continued support of the Mina ecosystem. We look forward to
building the future of Mina together with this new, performant Rust
implementation.
What's Changed
- fix: Changelog link for 0.16.0 diff by @tizoc in #1136
- chore(ci): Upgrade jobs to use Ubuntu 22.04 by @tizoc in #1138
- fix(p2p): Do not fail when an initial peer address cannot be resolved by @tizoc in #1137
- CI: remove usage of ubuntu arm64 by @dannywillems in #1143
- Web node local startup by @directcuteo in #1144
- Auto open web-node config by @directcuteo in #1145
- Added docs to build webnode by @0xMimir in #1146
- Docs P2P WebRTC by @binier in #1000
- Angular 19 Update by @directcuteo in #1152
- CLAUDE.md: init by @dannywillems in #1149
- CI: add dependabot by @dannywillems in #1155
- Update lint.yml actions to latest versions by @dannywillems in #1156
- CI/archive: remove as it is disabled and probably old by @dannywillems in #1154
- CI/daily: remove as old, referencing inexisting k8s cluster by @dannywillems in #1151
- chore(deps): bump actions/checkout from 3 to 4 by @dependabot[bot] in #1161
- Add Makefile by @dannywillems in #1150
- Rustfmt proof systems by @dannywillems in #1172
- CI/lint: move tx fuzzer lint to lint.yaml by @dannywillems in #1180
- Introduce common formatting practices for Markdown files by @dannywillems in #1174
- Cleaning old filies by @dannywillems in #1182
- chore(deps): bump mio from 0.8.11 to 1.0.3 by @dependabot[bot] in #1162
- chore(deps): bump juniper from 0.16.1 to 0.16.2 by @dependabot[bot] in #1165
- Cleaning: remove old drone CI config by @dannywillems in #1189
- chore(deps): bump object from 0.36.5 to 0.37.1 by @dependabot[bot] in #1164
- Unify Makefile and CI by @dannywillems in #1181
- CI: lint dockerfiles by @dannywillems in #1183
- chore(deps): bump documented from 0.1.2 to 0.6.0 by @dependabot[bot] in #1163
- Docker: fix openmina dockerfile and slightly improve it by @dannywillems in #1190
- Resolve tests in Cypress by @directcuteo in #1167
- Infra: remove old helm files by @dannywillems in #1201
- Add taplo by @dannywillems in #1211
- Makefile: add target to run an archive node by @dannywillems in #1203
- CI: remove code related to decomissionned k8s nodes by @dannywillems in #1202
- CI: remove nested and old GH workflow by @dannywillems in #1213
- chore(deps): bump prost-build from 0.12.4 to 0.14.1 by @dependabot[bot] in #1224
- chore(deps): bump zeroize from 1.7.0 to 1.8.1 by @dependabot[bot] in #1225
- chore(deps): bump wasm_thread from 0.3.0 to 0.3.1 by @dependabot[bot] in #1227
- chore(deps): bump pcap from 2.2.0 to 2.3.0 by @dependabot[bot] in #1226
- CI: add a check for checklog changes on PR by @dannywillems in #1231
- chore(deps): bump proc-macro2 from 1.0.93 to 1.0.95 by @dependabot[bot] in #1230
- CI/Docker: remove login in + push to Dockerhub related steps by @dannywillems in #1210
- docs: add Claude formatting instructions by @dannywillems in #1218
- chore(deps): bump itertools from 0.10.5 to 0.12.0 by @dependabot[bot] in #1228
- OCaml node dep: update to the latest release by @dannywillems in #1236
- Docusaurus website by @dannywillems in #1234
- Fix broken links for cargo doc by @volhovm in #1242
- Docs: add instructions to update the OCaml node dependencies by @dannywillems in #1237
- Website: add Mina Protocols Forums as resource by @dannywillems in #1243
- Fix lifetime warnings by @dannywillems in #1244
- CI/docs: include Rust API docs by @dannywillems in #1246
- OCaml nodes: bump up to release 3.2.0-beta1 by @dannywillems in #1250
- CI: fix deploy docs by removing NODE_ENV set to production by @dannywillems in #1254
- Frontend: remove space at the end of the filename by @dannywillems in #1253
- Docs: add macOS instructions to developer getting-started guide by @dannywillems in #1247
- Scripts to update OCaml node by @dannywillems in #1252
- CI: add shellcheck by @dannywillems in #1255
- CI: Support multi-platform builds and standardize test execution on ubuntu-latest by @dannywillems in #1249
- docs: add shellcheck to system dependencies installation by @dannywillems in #1264
- Unify the usage of Fp, Fq and curves by replacing mina_hasher::Fp with mina_curves::pasta::Fp by @Copilot in #1269
- CI: improve using composite actions by @dannywillems in #1251
- Update:
build.rs
to have same formatting as rustfmt by @0xMimir in #1276 - Add nix flake by @volhovm in #1241
- Add Makefile targets for block producer operations by @dannywillems in #1221
- Formatted proof files by @0xMimir in #1293
- Build(deps): Bump tarides/changelog-check-action from 2 to 3 by @dependabot[bot] in #1289
- Build(deps): Bump actions/configure-pages from 4 to 5 by @dependabot[bot] in #1287
- Build(deps): Bump actions/checkout from 4 to 5 by @dependabot[bot] in #1292
- Update default peers for devnet and mainnet by @dannywillems in #1294
- Build(deps): Bump DeterminateSystems/magic-nix-cache-action from 2 to 13 by @dependabot[bot] in #1290
- Build(deps): Bump DeterminateSystems/nix-installer-action from 4 to 19 by @dependabot[bot] in #1288
- Documentation: add section for network configuration by @dannywillems in #1295
- docs: unify node runner documentation with makefile targets by @dannywillems in #1283
- Bump up OCaml node to release 3.2.0-beta2 by @dannywillems in #1285
- Fix test-update-ocaml-node-script by @volhovm in #1286
- Fix BP doc and add a CLI command to generate encrypted key by @dannywillems in #1284
- Website: remove outdated files by @dannywillems in #1301
- Add WebRTC documentation for developers by @dannywillems in #1282
- CHANGELOG: fix syntax by @dannywillems in #1306
- CI: set fail-fast to false to prevent cancelling other jobs by @dannywillems in #1305
- CI: add timeout-minutes at different places by @dannywillems in #1309
- CI: consolidate workflows and improve caching strategy by @dannywillems in #1307
- CI: add setup-ocaml reusable action by @dannywillems in #1311
- Website: update design, using Claude by @dannywillems in #1312
- README: update with links to new website by @dannywillems in #1315
- Website: rename repo from openmina to mina-rust by @dannywillems in #1320
- Add workflow to carry over tasks to the next iteration of the project by @yamimaio in #1322
- Build(deps): Bump actions/download-artifact from 4 to 5 by @dependabot[bot] in #1318
- Build(deps): Bump actions/checkout from 4 to 5 by @dependabot[bot] in #1319
- CI: increase timeouts by @dannywillems in #1324
- CI: use a previous version of nightly by @dannywillems in #1328
- Rename openmina to mina by @dannywillems in #1314
- Docker images: publish and update docs accordingly by @dannywillems in #1335
- Docker: push multi platform architecture by @dannywillems in #1337
- Website: release process by @dannywillems in #1339
- CI: fix multi-arch push to Dockerhub by @dannywillems in #1340
- CI: split docker push jobs by @dannywillems in #1344
- Update leftovers references of OpenMina by @dannywillems in #1343
- Website/release: fix info section rendering by @dannywillems in #1341
- Dockerfile: add ca-certificates to the node Docker image by @dannywillems in #1345
- Improve documentation for the docker usage by @dannywillems in #1346
- Makefile: enforce precise nightly version for all targets by @dannywillems in #1348
- Rename board-carryover-interation to board-carryover-interation.yaml by @dannywillems in #1355
- Build(deps): Bump actions/upload-pages-artifact from 3 to 4 by @dependabot[bot] in #1357
- redux-rs: update after o1-labs ownership transfer and master update by @dannywillems in #1356
- CI/scenario-tests: increase timeouts to 45min by @dannywillems in #1358
- Website + snark crate documentation by @dannywillems in #1326
- Node/testing: fix typo by @dannywillems in #1363
- Website: introduce future work with p2p evoluation and persistence by @dannywillems in #1360
- Website: add testing framework section by @dannywillems in #1366
- Website: add main-net readiness documentation by @dannywillems in #1361
- Add circuits + ledger-crate on the website by @dannywillems in #1362
- poseidon: add regtest for hash params by @dannywillems in #1368
- Implement unit test for poseidon::hash::Item by @dannywillems in #1369
- mina-p2p-messages: fix individual compilation by @dannywillems in #1370
- Feat/update proof systems by @0xMimir in #1299
- Website/release: remove rollback procedure by @dannywillems in #1378
- Frontend: update node to v23 in Docker image by @dannywillems in #1373
- Frontend: remove old nginx configuration by @dannywillems in #1374
- Build(deps): Bump actions/setup-node from 4 to 5 by @dependabot[bot] in #1385
- Remove forks of arkworks and use o1labs/proof-systems by @dannywillems in #1383
- CI: increase timeout for scenario-tests, bootstrap-tests and record-replay-tests by @dannywillems in #1371
- Website/release: add checklist + fix release tag by @dannywillems in #1390
- Build(deps): Bump mio from 1.0.3 to 1.0.4 by @dependabot[bot] in #1384
- docker-compose: frontend is served on port 80 by @dannywillems in #1375
- chore(deps): bump aes from 0.8.3 to 0.8.4 by @dependabot[bot] in #1272
- CI/docker: main branch push to latest by @dannywillems in #1394
- CI: remove prefix 'release/' when tagging docker images by @dannywillems in #1393
- [20250910] merge main into develop by @dannywillems in #1395
- CI: branch validation by @dannywillems in #1397
- Release/v0.17.0 by @dannywillems in #1398
New Contributors
- @volhovm made their first contribution in #1242
- @Copilot made their first contribution in #1269
- @yamimaio made their first contribution in #1322
Full Changelog: v0.16.0...v0.17.0