#How to use ? With nuget :
Install-Package NBitcoin
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.
##What is it about ? This is the most complete and faithful porting I know of bitcoin.
##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
- 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) ;)
Mono.NAT is used to open port if you intent to use host a node, SqLite is a database used.
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 XUnit runner (only if using vs express) : http://xunit.codeplex.com/releases