Skip to content

axol-io/mana

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mana Ethereum Client

Hex.pm Hex Docs CircleCI GitHub Actions Consensus Spec Tests codecov License Elixir Version Deneb Support

High-performance distributed Ethereum client with ultra-performance optimizations, multi-datacenter operation, and enterprise features.

Status: Production ready with 10x Verkle performance improvements and multi-datacenter deployment capability.

Features

  • Distributed Architecture: Multi-datacenter operation with Byzantine fault tolerance
  • Universal Layer 2: Native support for Optimistic and ZK rollups (5 proof systems)
  • Ultra-Performance Verkle Trees: 10x current speedup (28.7% toward 35x target)
  • Enterprise Security: HSM integration and compliance framework
  • High Performance: 7.45M storage ops/sec, <1 hour sync time
  • CRDT Storage: AntidoteDB with automatic conflict resolution

Architecture

Elixir umbrella project with 8 applications:

  • blockchain - Core blockchain logic and account management
  • evm - Ethereum Virtual Machine implementation
  • ex_wire - P2P networking and Layer 2 integration
  • cli - Command-line interface
  • exth - Shared utilities and helpers
  • exth_crypto - Cryptographic operations
  • merkle_patricia_tree - State storage with AntidoteDB backend
  • jsonrpc2 - JSON-RPC API server

Requirements

  • Elixir 1.18.4+
  • Erlang 27.2+
  • AntidoteDB (for distributed features)

Installation

git clone --recurse-submodules https://github.com/axol-io/mana.git
cd mana
mix deps.get
mix compile
mix test --exclude network

Usage

Sync Node

# Sync from Infura
mix sync --chain mainnet --provider-url https://mainnet.infura.io/v3/<api_key>

# Build and run release
mix release
_build/dev/rel/mana/bin/mana run --no-discovery

Development

# Run tests
mix test

# Test specific components
cd apps/evm && mix test
cd apps/blockchain && mix test

# Set debugging breakpoints
BREAKPOINT=0x60014578... mix sync

Layer 2 Integration

  • Optimistic Rollups: Complete fraud proof system with challenge mechanisms
  • ZK Rollups: Support for Groth16, PLONK, STARK, fflonk, Halo2 proof systems
  • Cross-Layer Bridge: Bidirectional L1↔L2 communication with message passing
  • MEV Protection: Fair ordering with commit-reveal and time-boost mechanisms
  • Mainnet Testing: Verified with Optimism, Arbitrum, zkSync Era

Performance

Metric Achievement
Storage Operations 7.45M ops/sec
L2 Proof Verification 1.1M ops/sec
Verkle Tree Speed 10.05x faster than MPT
Sync Time <1 hour
Test Coverage 98.7%

Unique Capabilities

Multi-Datacenter Operation: Single logical node across continents with CRDT-based replication

Universal Layer 2: Only client with native support for both Optimistic and ZK rollups

Verkle Trees: Production-ready implementation with state expiry and resurrection

Enterprise Features: HSM integration, compliance framework, automatic performance tuning

Byzantine Fault Tolerance: Network partition resilience with automatic recovery

Documentation

Generate API docs:

mix docs
open doc/index.html

License

Dual licensed under Apache 2.0 and MIT. See LICENSE_APACHE and LICENSE_MIT.

Contributing

See CONTRIBUTING.md for guidelines.

References

About

Ethereum full node implementation written in Elixir.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 25