#NBitcoin
NBitcoin is the most complete and faithful Bitcoin implementation for the .NET platform.
#How to use ? With nuget :
Install-Package NBitcoin
Or if you are running on Mono (using mono develop) :
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 complile it by yourself, you just have to git clone, open the project and hit the compile button on visual studio. How to get started ? Check out this article on CodeProject to do some basic crypto operations.
##Description Why is it a big deal ? Because you can run it and debug into it without any linux-voodoo-setup to make bitcoin running. Visual studio express for free, XUnit and you are up to go.
- A TransactionBuilder supporting Stealth, Open Asset, and all standard transactions
- Full port of the test suite of bitcoin core with their own data
- Full script evaluation and parsing
- RPC Client
- SPV Wallet implementation with sample
- Mnemonic code for generating deterministic keys (BIP 39), credits to Thasshiznets
- Payment Protocol (BIP 70)
- Payment URL (BIP 21,BIP 72)
- Two Factor keys (BIP 38)
- Stealth Address (Also on codeproject)
- Recognize standard script and permit to create them
- Object model faithful to the C++ API but with C# goodness
- Simpler API (here is how to generate a key and get the address : new Key().PubKey.Address.ToString())
- Bloom filter, partial merkle tree
- Serialization of Blocks, Transactions, Script
- Signing/verification with private keys, support compact signature for prooving ownership
- Hierarchical Deterministic Wallets (BIP 32)
I ported directly from the C++, except the OpenSSL part where I'm using BouncyCaslte instead. (BitcoinJ helped me a lot on the implementation) I also ported OpenSSL bugs (you can't believe how much time it took me) ;)
Please, use the code to explore/learn/debug/play/sharing/create the licence is MIT, so you should be good to go. This is the simple way and most complete way to see the internal of bitcoin without going to C++ madness.
-
NBitcoin Github : https://github.com/NicolasDorier/NBitcoin
-
NBitcoin Nuget : https://www.nuget.org/packages/NBitcoin/
-
Intro: http://www.codeproject.com/Articles/768412/NBitcoin-The-most-complete-Bitcoin-port-Part-Crypt
-
Stealth Payment, and BIP38 : http://www.codeproject.com/Articles/775226/NBitcoin-Cryptography-Part
-
How to build transaction : http://www.codeproject.com/Articles/835098/NBitcoin-Build-Them-All
-
Using the NBitcoin Indexer : http://www.codeproject.com/Articles/819567/NBitcoin-Indexer-A-scalable-and-fault-tolerant-blo
-
How to Scan the blockchain : http://www.codeproject.com/Articles/784519/NBitcoin-How-to-scan-the-Blockchain (You can dismissthe ScanState for that, now I concentrate on the indexer)
Bitcoin address : 15sYbVpRh6dyWycZMwPdxJWD4xbfxReeHe
if you want to contact me : http://nicolas-dorier.com/Contact will do the rest by email :)
##Useful link : Visual studio express : http://www.visualstudio.com/en-us/products/visual-studio-express-vs.aspx