All Projects → termhn → nano-rs

termhn / nano-rs

Licence: MPL-2.0 license
An implementation of Nano in Rust using Tokio

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to nano-rs

jNano
A comprehensive Java library for the Nano cryptocurrency.
Stars: ✭ 25 (-13.79%)
Mutual labels:  nano, nano-currency, nanocurrency
nanook
Ruby library for making and receiving payments and managing a nano currency node
Stars: ✭ 17 (-41.38%)
Mutual labels:  nano, nano-currency, nanocurrency
RaiBlocksPHP
A bunch of PHP methods to build and sign transactions
Stars: ✭ 20 (-31.03%)
Mutual labels:  nano, nano-currency, nanocurrency
RaiBlocksWebAssemblyPoW
WebAssembly Nanocurrency PoW implementation
Stars: ✭ 33 (+13.79%)
Mutual labels:  nano, nano-currency, nanocurrency
reblocks
React Components for Nano cryptocurrency (formerly RaiBlocks) - including Payments via Brainblocks
Stars: ✭ 21 (-27.59%)
Mutual labels:  nano, nanocurrency
nano-update-tx-work
Rebroadcast unconfirmed Nano transactions with higher proof-of-work (PoW) to help restart expired elections.
Stars: ✭ 14 (-51.72%)
Mutual labels:  nano, nanocurrency
Nault
⚡ The most advanced Nano wallet with focus on security, speed and robustness
Stars: ✭ 228 (+686.21%)
Mutual labels:  nano, nanocurrency
rai
🗿 rai is a pythonic client for interacting with Raiblocks nodes
Stars: ✭ 21 (-27.59%)
Mutual labels:  nano, nano-currency
Nano Node
Nano is a cryptocurrency
Stars: ✭ 3,336 (+11403.45%)
Mutual labels:  nano, nanocurrency
Nano.Net
A .NET library for Nano
Stars: ✭ 19 (-34.48%)
Mutual labels:  nano, nanocurrency
MyNanoNinja
The perfect tool for Nano representatives lists and network statistics
Stars: ✭ 33 (+13.79%)
Mutual labels:  nano, nanocurrency
nano-vanity
A NANO vanity address generator (supports OpenCL)
Stars: ✭ 83 (+186.21%)
Mutual labels:  nano, nano-currency
nanolinks
A curated link guide for finding anything about Nano; The fast, fee-less and green digital currency!
Stars: ✭ 25 (-13.79%)
Mutual labels:  nano
pixelpwnr-server
🎆 Blazingly fast GPU accelerated pixelflut server written in Rust.
Stars: ✭ 43 (+48.28%)
Mutual labels:  tokio
nano-s3
Upload a file to S3.
Stars: ✭ 45 (+55.17%)
Mutual labels:  nano
tokio-imap
Tokio-based IMAP implementation
Stars: ✭ 110 (+279.31%)
Mutual labels:  tokio
nano-sidebar
Emacs package to have configurable sidebars on a per frame basis.
Stars: ✭ 98 (+237.93%)
Mutual labels:  nano
abstract-ns
Abstract name service traits for rust
Stars: ✭ 17 (-41.38%)
Mutual labels:  tokio
TimerInterrupt
This library enables you to use Interrupt from Hardware Timers on an Arduino, such as Nano, UNO, Mega, etc. It now supports 16 ISR-based timers, while consuming only 1 hardware Timer. Timers' interval is very long (ulong millisecs). The most important feature is they're ISR-based timers. Therefore, their executions are not blocked by bad-behavin…
Stars: ✭ 76 (+162.07%)
Mutual labels:  nano
gonano-gui
GUI for the Gonano Nano wallet
Stars: ✭ 27 (-6.9%)
Mutual labels:  nanocurrency

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].