Nethereum - An open source .NET integration library for blockchain
- JSON RPC / IPC Ethereum core methods.
- Geth management API (admin, personal, debugging, miner).
- Parity management API.
- Quorum integration.
- Simplified smart contract interaction for deployment, function calling, transaction, event filtering and decoding of topics.
- Unity 3d integration.
- ABI to .Net type encoding and decoding, including attribute based for complex object deserialization.
- HD wallet
- Transaction, RLP and message signing, verification and recovery of accounts.
- Libraries for standard contracts Token, ENS and Uport
- Integrated TestRPC testing to simplify TDD and BDD (Specflow) development.
- Key storage using Web3 storage standard, compatible with Geth and Parity.
- Simplified account life cycle for both managed by third party client (personal) or stand alone (signed transactions).
- Low level Interception of RPC calls.
- Code generation of smart contracts services.
Nethereum works with .Net Core or .Net Framework (from 4.5.1 upwards).You need to have the .Net SDK installed. For new starters or Mac and Linux users we recommend .Net core.
Create your app
Create a project using the .Net CLI or create a project in Visual Studio.
dotnet new console -o NethereumSample cd NethereumSample
Add package reference to Nethereum.Web3
dotnet add package Nethereum.Web3
Open your IDE
Visual Studio Code or Visual Studio are both good choices for .Net development. Other good IDEs are also available (Jet Brains Rider etc).
Open the Program.cs file in the IDE or editor.
Code First Steps
First, the code adds required namespaces for Nethereum:
Next it creates an instance of Web3, with the infura url for mainnet.
var web3 = new Web3("https://mainnet.infura.io");
And then you can use the Ethereum API via Nethereum to interact with accounts and transactions.