Skip to content

axol-io/mana

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,647 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mana Ethereum Client

GitHub Actions License Elixir Version

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 9 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
  • history - Stateless history node for eth_getLogs (~250GB vs 2TB+ archive)

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

 
 
 

Contributors