Skip to content

fu5ha/nano-rs

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

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

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.

Releases

No releases published

Packages

No packages published

Languages