Skip to content

o1-labs/mina-rust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mina Rust Node - Fast and secure implementation of the Mina protocol in Rust

Beta release-badge GitHub Repo stars Changelog Apache licensed

The Mina Rust Node is a fast and secure implementation of the Mina protocol in Rust. Currently in public beta, join our Discord community to help test future releases.


What is Mina Protocol?

Mina is a lightweight blockchain using zero-knowledge proofs to maintain a constant blockchain size, making it the world's lightest blockchain. Learn more at minaprotocol.com.

Quick Start

View full system requirements and setup instructions →

Getting Started

For comprehensive installation and setup instructions, visit our documentation website:

Complete Setup Guide →

Quick Links

Block production Node UI


Release Process

This project is in beta. We maintain a monthly release cycle, providing updates every month.

Core Features

The Mina Rust Node implements the complete Mina protocol in Rust, including network connectivity, block production, SNARK generation, and debugging tools.

Learn More About Architecture →

Repository Structure

This repository contains the complete Mina Rust Node implementation organized as a Cargo workspace:

crates/

Main project crates implementing the Mina protocol. Add new Mina-specific functionality here.

  • cli - Mina command-line interface
  • core - Shared types across different node components
  • fuzzer - Fuzzing infrastructure
  • ledger - Mina ledger implementation in Rust
  • macros - Procedural macros
  • node - Core node business logic
    • native - OS-specific node implementation (Linux/Mac/Windows)
  • p2p - P2P implementation for Mina node
  • p2p-messages - P2P message definitions
  • snark - SNARK/Proof verification
  • vrf - Verifiable Random Function implementation

tools/

Development and debugging utilities. Add new tooling here.

libs/

Reusable, project-agnostic libraries that could be published independently. Add generic libraries here that are not Mina-specific.

  • alloc-test - Memory allocation testing utilities
  • redux - Redux-style state management pattern

vendor/

Third-party libraries with local modifications. Add vendored dependencies here.

Other directories

Learn more about the architecture →

Community & Support

Visit our comprehensive documentation website →

Get Help & Contribute

Key Documentation Sections

Supported Platforms

CI Status

Platform Architecture Build Status
Ubuntu Ubuntu 22.04 x64 Ubuntu 22.04 x64
Ubuntu Ubuntu 24.04 x64 Ubuntu 24.04 x64
Ubuntu Ubuntu 24.04 ARM64 Ubuntu 24.04 ARM64
macOS macOS 13 Intel macOS 13 Intel
macOS macOS 14 Apple Silicon macOS 14 M1/M2
macOS macOS 15 Apple Silicon macOS 15 M1/M2/M3
macOS macOS Latest Apple Silicon macOS Latest

Note: Multi-platform builds run automatically on develop and main branches. Pull requests run fast Ubuntu-only builds for quick feedback.

Nightly Status

Documentation Scripts GraphQL API Tests Infrastructure Tests Remote GraphQL Board Carryover