Nethereum

Nethereum is the .Net integration library for Ethereum, it allows you to interact with Ethereum clients like geth, eth or parity using RPC.

The library has very similar functionality as the Javascript Etherum Web3 RPC Client Library.

All the JSON RPC/IPC methods are implemented as they appear in new versions of the clients.

The geth client is the one that is closely supported and tested, including its management extensions for admin, personal, debugging, miner.

Interaction with contracts has been simplified for deployment, function calling, transaction and event filtering and decoding of topics.

The library has been tested in all the platforms .Net Core, Mono, Linux, iOS, Android, Raspberry PI, Xbox and of course Windows.

Quick installation

Here is a list of all the nuget packages, if in doubt use Nethereum.Portable as it includes all the packages embedded in one. (Apart from IPC which is windows specific).

PM > Install-Package Nethereum.Portable -Pre

Another option (if targeting netstardad 1.1) is to use the Nethereum.Web3 package. This top level package include all the dependencies for RPC, ABI and Hex.

If you have issues installing the packages make sure you have a reference to System.Runtime specific to your environment.

PM > Install-Package Nethereum.Web3 -Pre
Package Nuget
Nethereum.Portable NuGet version
Nethereum.Web3 NuGet version
Nethereum.ABI NuGet version
Nethereum.RPC NuGet version
Nethereum.Hex NuGet version
Nethereum.JsonRpc.IpcClient NuGet version

Finally if you want to use IPC you will need the specific IPC Client library for Windows.

Note: Named Pipe Windows is the only IPC supported and can only be used in combination with Nethereum.Web3 - Nethereum.RPC packages. So if you are planning to use IPC use the single packages