Skip to content

Comprehensive Bitcoin library for the .NET framework.

License

Notifications You must be signed in to change notification settings

barbel840113/NBitcoin

 
 

Repository files navigation

#NBitcoin

NBitcoin is the most complete Bitcoin library for the .NET platform. It is compatible with Open Assets and implements most relevant Bitcoin Improvement Proposals (BIPs). It provides also low level access to Bitcoin primitives so you can easily create your own smart contracts.

#How to use ? With nuget :

Install-Package NBitcoin

Or if you are running on Mono (e.g. using MonoDevelop/XamarinStudio):

Install-Package NBitcoin.Mono

Go on the nuget website for more information.

The packages supports the following Portable profile :

  • net45
  • portable-net45+win+wpa81+Xamarin.iOS10+MonoAndroid10+MonoTouch10
  • portable-net45+win+wpa81+wp80+Xamarin.iOS10+MonoAndroid10+MonoTouch10
  • portable-net45+MonoAndroid1

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.

##Description NBitcoin notably includes:

  • A TransactionBuilder supporting Stealth, Open Asset, and all standard transactions
  • Full script evaluation and parsing
  • A RPC 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)
  • 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 BountyCastle 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

About

Comprehensive Bitcoin library for the .NET framework.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 100.0%