Users who have contributed to this file

NBitcoin

NBitcoin is the most complete Bitcoin library for the .NET platform. It implements all most relevant Bitcoin Improvement Proposals (BIPs). It also provides low level access to Bitcoin primitives so you can easily build your application on top of it. Join us in 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 are also some more resources below.

How to use with Altcoins ?

How to debug in NBitcoin source code?

When a new version of NBitcoin, NBitcoin.Altcoins or NBitcoin.TestFramework is released on Nuget, we also upload a separate symbol package (snupkg) with SourceLink enabled. This is enabled from version 4.1.1.73.

This means that it is possible to debug into NBitcoin code, and the source will be fetched transparently from github.

This works on both Visual Studio Code and Visual Studio for Windows.

Debug inside source with Visual Studio

You need to run at least Visual Studio 15.9.
Then, you need to:

Go in Tools / Options / Debugging / General and turn off Enable Just My Code.

Go in Tools / Options / Debugging / Symbols and add https://symbols.nuget.org/download/symbols to the Symbol file (.pdb) locations, make sure it is checked.

You should also check Microsoft Symbol Server or your debugging experience in visual studio will be slowed down.

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 the 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 is licensed under the MIT License and we encourage you to use it to explore, learn, debug, play, share and create software for Bitcoin and with other Metaco services.

How to connect use a SOCKS5 proxy to connect to a Bitcoin node?

Here an example which assume you run Tor with SOCKS5 proxy on port 9050.