Skip to content

Gwen-M/rustblock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RustBlock 🦀⛓️

A blockchain prototype implementation in Rust, featuring a very minimal web interface for easy interaction. This project demonstrates the core concepts of blockchain technology while maintaining a clean and modular architecture.

🚀 Features

  • Blockchain Core

    • Block creation and validation
    • Chain integrity verification
    • Proof of existence through SHA-256 hashing
    • Genesis block initialization
  • Web Interface

    • Real-time block visualization
    • Manual block creation
    • Peer management interface
    • RESTful API endpoints
  • Peer Network (Work in Progress)

    • Basic peer connection management
    • Groundwork laid for P2P communication
    • Chain synchronization (planned)

🛠️ Technology Stack

  • Backend: Rust
  • Web Server: Rouille
  • Cryptography: SHA-256
  • Concurrency: Parking Lot
  • Serialization: Serde
  • Frontend: HTML, JavaScript

📋 Prerequisites

  • Rust (latest stable version)
  • Cargo package manager

🚀 Getting Started

  1. Clone the repository
git clone [email protected]:Gwen-M/rustblock.git
cd rustblock
  1. Build the project
cargo build
  1. Run the server
cargo run
  1. Open your browser and navigate to http://localhost:8000

🔌 API Endpoints

  • GET /blocks - Retrieve all blocks in the chain
  • POST /mintBlock - Create a new block
  • GET /peers - List all connected peers
  • POST /addPeer - Connect to a new peer

🚧 Project Status

This project is a prototype and some features are still under development. The peer-to-peer networking functionality is partially implemented, with the groundwork laid for future development of complete node synchronization and block propagation.

🎯 Future Improvements

  • Complete P2P network implementation
  • Block propagation across nodes
  • Consensus mechanism
  • Network resilience and fault tolerance
  • Advanced block validation rules

📜 License

All rights reserved

🤝 Contributing

Contributions are welcome! Feel free to submit a Pull Request.

⚠️ Disclaimer

This is an educational project meant to demonstrate blockchain concepts. It is not intended for production use.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published