Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Artemis Network

An educational blockchain implementation in Rust designed to help developers understand how cryptocurrency networks work under the hood.

About

Artemis Network is a lightweight, fully functional blockchain that demonstrates the core concepts found in production cryptocurrency networks, but with reduced complexity. This makes it an excellent learning tool for understanding:

  • Proof-of-Work Mining: How SHA-256 hashing and difficulty targets secure the network
  • Transaction Processing: ECDSA cryptographic signing and verification
  • Consensus Mechanisms: How nodes agree on blockchain state using the longest-chain rule
  • P2P Networking: Peer discovery and message broadcasting across the network
  • Distributed Systems: Concurrent components working together with shared state
  • Data Persistence: Embedded database with indexing strategies

⚠️ Important: This is an educational project, not production-ready. It prioritizes code clarity and learning value over production optimizations.

Getting Started

Quick Start

# Build and run a node
cargo run -- --config=./config/config-1.yaml

# Run with dev mode (fresh database on startup)
cargo run --features dev -- --config=./config/config-1.yaml

For detailed instructions on building, running, testing, and using the API, see DEVELOPMENT.md.

Documentation

📚 MODULES.md - Complete module overview and architecture documentation

📖 DEVELOPMENT.md - Build, run, test, and API usage guide

Detailed Concept Guides

The docs/ directory contains in-depth explanations of blockchain concepts:

Architecture

Artemis Network uses a concurrent, component-based architecture with five main components running in parallel:

  • Server: Handles P2P (TCP) and client (HTTP) communication
  • Miner: Executes proof-of-work block mining
  • Sync: Synchronizes blockchain with peers
  • Broadcaster: Propagates transactions and blocks across network
  • Discover: Discovers and registers peers

Each component runs as an independent Tokio task, safely sharing state through Arc and Mutex wrappers. See MODULES.md for complete architectural details.

Contributing

Contributions are welcome! This is an educational project, so clarity and learning value are prioritized over production optimizations.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages