Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/danielgerlag/NBlockchain
.NET standard library for building blockchain enabled applications
https://github.com/danielgerlag/NBlockchain
blockchain
Last synced: 12 days ago
JSON representation
.NET standard library for building blockchain enabled applications
- Host: GitHub
- URL: https://github.com/danielgerlag/NBlockchain
- Owner: danielgerlag
- License: mit
- Created: 2017-08-06T14:43:40.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-04-14T00:58:12.000Z (over 5 years ago)
- Last Synced: 2024-08-01T02:25:56.091Z (3 months ago)
- Topics: blockchain
- Language: C#
- Homepage:
- Size: 251 KB
- Stars: 83
- Watchers: 15
- Forks: 20
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-dotnet-core - NBlockchain - .NET standard library for building blockchain enabled applications (Frameworks, Libraries and Tools / Blockchain)
- awesome-dotnet-core - NBlockchain - 用于构建支持区块链的应用程序的.NET标准库 (框架, 库和工具 / 区块链)
- fucking-awesome-dotnet-core - NBlockchain - .NET standard library for building blockchain enabled applications (Frameworks, Libraries and Tools / Blockchain)
- awesome-dotnet-core - NBlockchain - .NET standard library for building blockchain enabled applications (Frameworks, Libraries and Tools / Blockchain)
README
# 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 implementationsBeyond 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
* [Digital Currency](Samples/DigitalCurrency)## Local database stores
* LiteDB (Default built-in)
* [MongoDB](Providers/NBlockchain.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
* **Daniel Gerlag** - [email protected]## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details