>> (p.1)
    Author Topic: Denovo (v 0.8.0) and Bitcoin.Net (v 0.27.0) 2025-02-08  (Read 1127 times)
    Coding Enthusiast (OP)
    Legendary
    *
    Offline Offline

    Activity: 1047
    Merit: 2842


    Bitcoin and C♯ Enthusiast


    View Profile WWW
    February 10, 2020, 07:24:57 AM
    Last edit: February 15, 2025, 01:35:23 PM by Coding Enthusiast
    Merited by ABCbits (20), BlackHatCoiner (10), NeuroticFish (8), OmegaStarScream (7), hugeblack (7), mprep (6), malevolent (4), DdmrDdmr (4), OgNasty (2), mocacinno (1), DaCryptoRaccoon (1)
     #1

    Table of Contents

    __________


    Introduction
    This is 2 announcements inside 1 topic to introduce my biggest project to this date. It is an implementation of Bitcoin protocol from scratch without any kind of dependency or code translations.
    In short: Denovo is the client and Bitcoin.Net is the library that can also be used by any other project separately.



    Denovo
    Denovo will eventually be a very flexible and easy to use tool with lots of features from a simple offline tool to handle keys and transaction signing to a full client capable of working as a full node or a SPV node and ultimately a second layer node (such as Lightning network node).
    Currently Denovo is in beta and has very limited features listed below:

    • TestNet miner: a simple but powerful miner to mine testnet v3 and v4 blocks and broadcast them used only for testing things that can not be tested otherwise.
    • Message encryption: encrypt and decrypt messages using Elliptic Curve Integrated Encryption Scheme (ECIES).
    • Transaction verifier: verify any bitcoin transaction by entering its raw hex and all its UTXOs.
    • WIF helper: an experimental feature to convert WIFs to mnemonic and back
    • Push transaction: broadcast transactions to other bitcoin nodes on mainnet and testnet



    Bitcoin.Net
    Bitcoin.Net is a stand alone bitcoin library written completely in C# and from scratch (no code translating) with no dependencies. It can be downloaded from Nuget here: https://www.nuget.org/packages/Autarkysoft.Bitcoin

    Some characteristics:
    • 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)
    • Implementation of improvement proposals, consensus related BIPs are part of the library and optional bips (eg. BIP-32) are in separate classes.



    If you are a .Net developer and a bitcoin enthusiast drop by and check it out. I appreciate your feedback.


    Links
    Source code on GitHub: https://github.com/Autarkysoft/Denovo
    Want to help?
    Review the code and leave your feedback in this topic about the code, features any possible bug(s), ...
    Donate Bitcoin:
    1Q9swRQuwhTtjZZ2yguFWk7m7pszknkWyk
    bc1q3n5t9gv40ayq68nwf0yth49dt5c799wpld376s



    To Do List (aka future features!)
    • [ ]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.
    • [ ]Add Lightning Network protocol to both library and client.

    Projects List+Suggestion box
    Donate: 1Q9s or bc1q
    |
    |
    |
    FinderOuter(0.20.0)Ann-git
    Denovo(0.8.0)Ann-git
    Bitcoin.Net(0.27.0)Ann-git
    |
    |
    |
    BitcoinTransactionTool(0.11.0)Ann-git
    WatchOnlyBitcoinWallet(4.0.0)Ann-git
    SharpPusher(0.13.0)Ann-git
Page 1
Viewing Page: 1