Git Product home page Git Product logo

nbitcoin's Introduction

NBitcoin

Join the chat at https://gitter.im/MetacoSA/NBitcoin

NBitcoin is the most complete Bitcoin library for the .NET platform. It implements all most relevant Bitcoin Improvement Proposals (BIPs). It provides also low level access to Bitcoin primitives so you can easily build your application on top of it. Join us on our gitter chat room. It works on Windows, Mac and Linux with Xamarin, Unity, .NET Core or CLR. (Porting to Unity should not be that hard if you need it)

The best documentation available is our eBook, and the excellent unit tests. There is also some more resources below.

How to use ?

With nuget :

Install-Package NBitcoin

Go on the nuget website for more information.

The packages supports:

  • With full features, Windows Desktop applications, Mono Desktop applications, and plateform supported at .NET Standard 1.3 (.NET Core, Xamarin IOS, Xamarin Android, UWP).
  • With limited features, plateform supported at .NET Standard 1.1 (Windows Phone, Windows 8.0 apps).

To compile it by yourself, you can git clone, open the project and hit the compile button on visual studio. How to get started ? Check out this article on CodeProject for some basic Bitcoin operations, or this Introduction to NBitcoin video.

How to use with Litecoin ?

Install-Package NBitcoin.Litecoin

This is a light weight package with corresponding Network instances for Litecoin mainnet and testnet. Sources

How to use with my own blockchain?

If your crypto currency is similar enough to Bitcoin, please, check out how we integrated litecoin to NBitcoin.

How to use in Unity 3.5

In command prompt:

git clone https://github.com/MetacoSA/NBitcoin/
cd NBitcoin
git checkout unity35
build-unity.bat

Then put the two libraries, NBitcoin.dll and System.Threading.Tasks.Net35.dll found in "NBitcoin\NBitcoin\bin\Release" into your asset folder.

How to use in .NET Core

If you want to use .NET Core, first install .NET Core as documented here.

Then:

mkdir MyProject
cd MyProject
dotnet new console
dotnet add package NBitcoin
dotnet restore

Then edit your Program.cs:

using System;
using NBitcoin;

namespace _125350929
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World! " + new Key().GetWif(Network.Main));
        }
    }
}

You can then run with

dotnet run

We advice you to use Visual Studio Code as the editor for your project.

Description

NBitcoin notably includes:

  • A TransactionBuilder supporting Stealth, Open Asset, and all standard transactions
  • Full script evaluation and parsing
  • A RPC Client
  • A Rest Client
  • A SPV Wallet implementation with sample
  • The parsing of standard scripts and creation of custom ones
  • The serialization of blocks, transactions and script
  • The signing and verification with private keys (with support for compact signatures) for proving ownership
  • Bloom filters and partial merkle trees
  • Segregated Witness (BIP 141, BIP 143, BIP 144)
  • Bech32 segwit address implementation with error detection BIP 173
  • Mnemonic code for generating deterministic keys (BIP 39), credits to Thasshiznets
  • Hierarchical Deterministic Wallets (BIP 32)
  • Payment Protocol (BIP 70)
  • Payment URLs (BIP 21,BIP 72)
  • Two-Factor keys (BIP 38)
  • Stealth Addresses (Also on codeproject)

NBitcoin is inspired by Bitcoin Core code but provides a simpler object oriented API (e.g., new Key().PubKey.Address.ToString() to generate a key and get the associated address). It relies on BouncyCastle cryptography library instead of OpenSSL, yet replicates OpenSSL bugs to guarantee compatibility. NBitcoin also ports the integrality of Bitcoin Core unit tests with their original data in order to validate the compatibility of the two implementations.

NBitcoin license is MIT and we encourage you to use it to explore, learn, debug, play, share and create software for Bitcoin and with other Metaco services.

Useful doc :

Please, use github issues for questions or feedback. For confidential requests or specific demands, contact us on Metaco support.

Useful link for a free IDE :

Visual Studio Community Edition : https://www.visualstudio.com/products/visual-studio-community-vs

nbitcoin's People

Contributors

nicolasdorier avatar lontivero avatar dthorpe avatar sgryphon avatar andbene72 avatar knocte avatar thepok avatar dangershony avatar xeniacx avatar dugongsoftware avatar derrick- avatar bitcoinbrisbane avatar veqtrus avatar deathandtaxes avatar avalaxy avatar lordmike avatar simplexidev avatar adrientr avatar arturkarbone avatar vonzepp avatar eric898989 avatar hermanschoenfeld avatar jspri3 avatar fonix232 avatar krasen007 avatar 2269213870 avatar satwo avatar kernel32uiuc avatar nopara73 avatar ptirouz 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.