Giter Club home page Giter Club logo

nblockchain's Introduction

NBlockchain

NBlockchain is a .NET standard library for building blockchain applications.

This project is currently in alpha status and any contributions are welcome.

The idea is that the developer would only need to focus on the data and rules for a blockchain and not worry about having to build all the infrastructure to facilitate a blockchain.

The developer would need to

  • Define the schema of data / transactions they would like to store on the blockchain
  • Define the rules for a valid transaction
  • Select or create an appropriate local database
  • Select or create an appropriate network implementation
  • Select or create one or more peer discovery implementations

Beyond this, it is meant to be highly customizable, you can switch out the default services for

  • Address encoding
  • Signing
  • Hashing algorithm
  • Block verification
  • Block consensus method (eg. proof of work, etc...)

Installation

Using Nuget package console

PM> Install-Package NBlockchain -Version 0.5.0-alpha

Using .NET CLI

dotnet add package NBlockchain --version 0.5.0-alpha

Samples

Local database stores

  • LiteDB (Default built-in)
  • MongoDB

Networking implementations

  • In memory (mostly for testing & demo purposes)
  • Tcp sockets

Peer discovery implementations

  • Static (from a config file, etc...)
  • Multicast (for finding peers on the local network)
  • More to come....

Key features

  • Automatic chain fork detection and resolution
  • Open, flexible transaction schema
  • Customizable transaction level rules
  • Customizable block level rules
  • Peer discovery
  • Proof of work management

Documentation

https://github.com/danielgerlag/NBlockchain/tree/master/doc

Outstanding items for v1

  • NAT traversal
  • More peer discovery options
  • Integration tests

Authors

License

This project is licensed under the MIT License - see the LICENSE file for details

nblockchain's People

Contributors

danielgerlag avatar peterdowdy avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.