Skip to content
master
Switch branches/tags
Go to file
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Nano-rs

Nano-rs is a pure Rust implementation of the Nano cryptocurrency based on Tokio. It is currently in its very infancy.

This repo serves as a monorepo that contains several crates, including the root nano-rs crate, which is the node implementation itself. There are also several subcrates:

  • nanopow-rs is a standalone Proof of Work implementation.
  • nano-lib-rs provides types and functions for working with the Nano protocol in Rust.

Milestones

  • A basic node that can validate and store blocks sent to it
    • Data structures
      • Blocks
      • Message headers
      • Message body
        • Block
        • Keepalive peers
        • Confirm Ack (votes etc)
        • Others...
    • Database
    • Proof of work
    • Cryptographic functions
    • Basic wallet functions
    • Networking
      • Receiving keepalives and blocks
        • keepalives
        • publish
        • confirm_req
        • confirm_ack
        • others...
      • Sending keepalives
  • Add broadcasting and discovery
  • Add RPC interface
  • Add voting
  • Add compatibility with existing Nano Nodes
  • Add complete testing harness
  • Possibly more things in the future

Installation/Usage

First, install Rust.

Then make sure you're running nightly rust:

rustup toolchain install nightly
rustup default nightly

Then,

git clone https://github.com/termhn/nano-rs
cd nano-rs
cargo run --release

Logging is printed to stderr and saved in files in the logs/ folder.

About

An implementation of Nano in Rust using Tokio

Topics

Resources

License

Releases

No releases published

Packages

No packages published

Languages