Giter VIP home page Giter VIP logo

denovo's Introduction

Build Status License
NuGet NuGet

The Revolution Will Not Be Centralized

logo

Denovo

Denovo is a stand alone bitcoin client written completely in C# and from scratch and with only one dependency for GUI. Using the latest .net core version with AvaloniaUI it can run on any operating systems.

  • Development is not started yet.
  • Current version 0.0.0.0 (check the versioning convention for more information).

Bitcoin.Net

The backbone of Denovo, Bitcoin.net is a stand alone bitcoin library written completely in C# and from scratch (no code translating) with no dependencies. It is released as a different project so that it could be used by any other third party projects.
Check out releases for the current version (versioning convention). The current implementation is covering almost the entire bitcoin protocol, there may be some missing parts or some bugs.
Please report any problems that you encounter or any feedback that you may have.

Bitcoin.Net can be downloaded from Nuget:

Using Package manager in Visual Studio:

Install-Package Autarkysoft.Bitcoin

Using .Net CLI:

dotnet add package Autarkysoft.Bitcoin

Current Features

  • Full xml documentation of the code explaining what each member does, expections that may be thrown, examples if needed,...
  • Neatly categorized namespaces for ease of access: Blockchain, Cryptography, P2PNetwork are the 3 main ones and there are Encoders, ImprovementProposals covering the rest.
  • Near 100% test coverage (for finished parts only, for now).
  • Loosely coupled implementation of blocks, transactions and scripts making it easy to test and scale.
  • Stand alone cryptography namespace making it possible to optimize functions for bitcoin (only some parts are currently optimized: Hashing and KeyDerivationFunctions namespaces)
    • Asymmetric: ECC (unoptimized and untested)
    • Hashing: SHA-1 (unoptimized), SHA-2 (256/512), HMAC-SHA (256/512), RIPEMD160, RIPEMD160 of SHA256 (aka Hash160) all optimized
    • KeyDerivationFunctions: PBKDF2, Scrypt both optimized
    • RFC-6979: Optimized. Also an extra entropy is added so that signer can grind to find low R values to a fixed length (<32).
  • Implementation of improvement proposals, consensus related BIPs are part of the library and optional bips (eg. BIP-32) are in separate classes. Currently:

Future plans

  • Optimization of the libray
  • Complete testing of remaining parts
  • Add more relevant and useful BIPs
  • Explore more ideas for a better Bitcoin (eg. block compressions and P2P protocol) to add under Experimental namespace.

Contributing

Please check out conventions for information about coding styles, versioning, making pull requests, and more.

denovo's People

Contributors

coding-enthusiast 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.