Nethereum.RPC 5.8.0

Prefix Reserved
dotnet add package Nethereum.RPC --version 5.8.0
                    
NuGet\Install-Package Nethereum.RPC -Version 5.8.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Nethereum.RPC" Version="5.8.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Nethereum.RPC" Version="5.8.0" />
                    
Directory.Packages.props
<PackageReference Include="Nethereum.RPC" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Nethereum.RPC --version 5.8.0
                    
#r "nuget: Nethereum.RPC, 5.8.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Nethereum.RPC@5.8.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Nethereum.RPC&version=5.8.0
                    
Install as a Cake Addin
#tool nuget:?package=Nethereum.RPC&version=5.8.0
                    
Install as a Cake Tool

Nethereum.RPC

Nethereum.RPC is the core package providing Ethereum JSON-RPC method implementations. It contains all standard Ethereum RPC methods organized into logical categories (Eth, Net, Web3, Personal, etc.) and provides both direct RPC access and service-based APIs.

Features

  • Complete implementation of Ethereum JSON-RPC specification
  • Organized API surface: Eth, Net, Web3, Personal, Shh, Debug
  • Service-based architecture (EthApiService, NetApiService, etc.)
  • Support for all major RPC methods:
    • Account management (eth_accounts, eth_getBalance)
    • Block operations (eth_blockNumber, eth_getBlockByNumber)
    • Transaction handling (eth_sendTransaction, eth_call, eth_estimateGas)
    • Event filtering (eth_newFilter, eth_getLogs)
    • Network info (net_version, eth_chainId)
    • EIP-1559 support (eth_maxPriorityFeePerGas, eth_feeHistory)
  • Transaction managers and nonce services
  • Fee suggestion services (EIP-1559)
  • Works with any IClient implementation (HTTP, WebSocket, IPC)

Installation

dotnet add package Nethereum.RPC

Dependencies

  • Nethereum.JsonRpc.Client - RPC client abstraction
  • Nethereum.Hex - Hex encoding/decoding
  • Nethereum.Util - Utilities
  • Nethereum.Model - Data models
  • Nethereum.Merkle.Patricia - Merkle proof support

Quick Start

Most users interact with RPC methods through the Web3 API, which provides a higher-level interface:

using Nethereum.Web3;

var web3 = new Web3("https://mainnet.infura.io/v3/YOUR-PROJECT-ID");

// All RPC methods are available through web3.Eth
var blockNumber = await web3.Eth.Blocks.GetBlockNumber.SendRequestAsync();
var balance = await web3.Eth.GetBalance.SendRequestAsync("0x742d35Cc6634C0532925a3b844Bc454e4438f44e");

Direct RPC Usage

For advanced scenarios, you can use RPC methods directly:

using Nethereum.JsonRpc.Client;
using Nethereum.RPC.Eth.Blocks;
using Nethereum.RPC.Eth;

var client = new RpcClient(new Uri("https://mainnet.infura.io/v3/YOUR-PROJECT-ID"));

// Direct RPC method instantiation
var ethBlockNumber = new EthBlockNumber(client);
var blockNumber = await ethBlockNumber.SendRequestAsync();

var ethGetBalance = new EthGetBalance(client);
var balance = await ethGetBalance.SendRequestAsync("0x742d35Cc6634C0532925a3b844Bc454e4438f44e");

Package Organization

The package is organized by RPC method category:

Nethereum.RPC/
├── Eth/                      # Ethereum methods (eth_*)
│   ├── Blocks/              # Block-related methods
│   ├── Transactions/        # Transaction methods
│   ├── Filters/             # Event filtering
│   ├── Services/            # Block services
│   └── DTOs/                # Data transfer objects
├── Net/                      # Network methods (net_*)
├── Web3/                     # Web3 methods (web3_*)
├── Personal/                 # Personal methods (personal_*)
├── Shh/                      # Whisper methods (shh_*)
├── DebugNode/                # Debug methods (debug_*)
├── Chain/                    # Chain-specific methods
├── TransactionManagers/      # Transaction management
├── NonceServices/            # Nonce tracking
├── Fee1559Suggestions/       # EIP-1559 fee estimation
├── EthApiService.cs          # Service wrapper for Eth methods
├── NetApiService.cs          # Service wrapper for Net methods
└── PersonalApiService.cs     # Service wrapper for Personal methods

Examples

Example 1: Getting Block Information

using Nethereum.JsonRpc.Client;
using Nethereum.RPC.Eth.Blocks;
using Nethereum.RPC.Eth.DTOs;

var client = new RpcClient(new Uri("https://mainnet.infura.io/v3/YOUR-PROJECT-ID"));

// Get current block number
var ethBlockNumber = new EthBlockNumber(client);
var blockNumber = await ethBlockNumber.SendRequestAsync();
Console.WriteLine($"Current block: {blockNumber.Value}");

// Get block by number
var ethGetBlockByNumber = new EthGetBlockByNumber(client);
var block = await ethGetBlockByNumber.SendRequestAsync(
    new BlockParameter(blockNumber),
    returnFullTransactionObjects: false
);

Console.WriteLine($"Block hash: {block.BlockHash}");
Console.WriteLine($"Block timestamp: {block.Timestamp.Value}");
Console.WriteLine($"Transaction count: {block.TransactionHashes.Length}");

Output:

Current block: 18500000
Block hash: 0x1234...
Block timestamp: 1697000000
Transaction count: 150

Example 2: Checking Account Balance

using Nethereum.JsonRpc.Client;
using Nethereum.RPC.Eth;
using Nethereum.RPC.Eth.DTOs;

var client = new RpcClient(new Uri("https://mainnet.infura.io/v3/YOUR-PROJECT-ID"));
var ethGetBalance = new EthGetBalance(client);

// Get balance at latest block
var balance = await ethGetBalance.SendRequestAsync(
    "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
    BlockParameter.CreateLatest()
);

// Convert from Wei to Ether
var etherBalance = Web3.Convert.FromWei(balance.Value);
Console.WriteLine($"Balance: {etherBalance} ETH");

// Get balance at specific block
var blockNumber = new BlockParameter(18000000);
var historicalBalance = await ethGetBalance.SendRequestAsync(
    "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
    blockNumber
);
Console.WriteLine($"Historical balance: {Web3.Convert.FromWei(historicalBalance.Value)} ETH");

Source: tests/Nethereum.RPC.IntegrationTests/Testers/EthGetBalanceTester.cs

Example 3: Calling Smart Contract Methods (eth_call)

using Nethereum.JsonRpc.Client;
using Nethereum.RPC.Eth.Transactions;
using Nethereum.RPC.Eth.DTOs;

var client = new RpcClient(new Uri("https://mainnet.infura.io/v3/YOUR-PROJECT-ID"));

// Example: Call a contract method (e.g., balanceOf)
var ethCall = new EthCall(client);

var callInput = new CallInput
{
    To = "0x32eb97b8ad202b072fd9066c03878892426320ed",
    From = "0x12890D2cce102216644c59daE5baed380d84830c",
    // Function signature + encoded parameters
    Data = "0xc6888fa10000000000000000000000000000000000000000000000000000000000000045"
};

var result = await ethCall.SendRequestAsync(callInput, BlockParameter.CreateLatest());
Console.WriteLine($"Call result: {result}");

// For typed contract interactions, use Nethereum.Contracts instead

Source: tests/Nethereum.RPC.IntegrationTests/Testers/EthCallTester.cs

Example 4: Estimating Gas

using Nethereum.JsonRpc.Client;
using Nethereum.RPC.Eth.Transactions;
using Nethereum.RPC.Eth.DTOs;

var client = new RpcClient(new Uri("https://mainnet.infura.io/v3/YOUR-PROJECT-ID"));
var ethEstimateGas = new EthEstimateGas(client);

var transactionInput = new CallInput
{
    From = "0x12890D2cce102216644c59daE5baed380d84830c",
    To = "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
    Value = new Nethereum.Hex.HexTypes.HexBigInteger(1000000000000000000), // 1 ETH
};

var gasEstimate = await ethEstimateGas.SendRequestAsync(transactionInput);
Console.WriteLine($"Estimated gas: {gasEstimate.Value}");

// Use the estimate with a buffer for actual transaction
var gasLimit = gasEstimate.Value * 110 / 100; // 10% buffer
Console.WriteLine($"Recommended gas limit: {gasLimit}");

Example 5: Getting Chain ID

using Nethereum.JsonRpc.Client;
using Nethereum.RPC.Eth;

var client = new RpcClient(new Uri("https://mainnet.infura.io/v3/YOUR-PROJECT-ID"));
var ethChainId = new EthChainId(client);

var chainId = await ethChainId.SendRequestAsync();
Console.WriteLine($"Chain ID: {chainId.Value}");

// Common chain IDs:
// 1 = Ethereum Mainnet
// 5 = Goerli
// 11155111 = Sepolia
// 137 = Polygon
// 42161 = Arbitrum

Source: tests/Nethereum.RPC.IntegrationTests/Testers/EthChainIdTester.cs

Example 6: Working with Different Clients (WebSocket, IPC)

using Nethereum.JsonRpc.WebSocketClient;
using Nethereum.JsonRpc.IpcClient;
using Nethereum.RPC.Eth.Blocks;
using Nethereum.Web3;
using Nethereum.Web3.Accounts.Managed;

// WebSocket client
var clientWs = new WebSocketClient("ws://127.0.0.1:8546");
var web3Ws = new Web3(clientWs);
var blockNumberWs = await web3Ws.Eth.Blocks.GetBlockNumber.SendRequestAsync();
Console.WriteLine($"Block number (WebSocket): {blockNumberWs.Value}");

// IPC client (Unix socket or named pipe)
var clientIpc = new IpcClient("jsonrpc.ipc");
var web3Ipc = new Web3(clientIpc);
var blockNumberIpc = await web3Ipc.Eth.Blocks.GetBlockNumber.SendRequestAsync();
Console.WriteLine($"Block number (IPC): {blockNumberIpc.Value}");

// With managed account
var account = new ManagedAccount("0x12890d2cce102216644c59daE5baed380d84830c", "password");
var web3WithAccount = new Web3(account, clientWs);

Source: consoletests/Nethereum.Parity.Reactive.ConsoleTest/Program.cs

Example 7: Building RPC Requests for Custom Use Cases

using Nethereum.RPC.Eth;
using Nethereum.RPC.Eth.DTOs;

// Build request without sending it (useful for batching or custom handling)
var ethGetBalance = new EthGetBalance();
var request = ethGetBalance.BuildRequest(
    "0x12890d2cce102216644c59daE5baed380d84830c",
    BlockParameter.CreateLatest()
);

Console.WriteLine($"Method: {request.Method}");
Console.WriteLine($"Params: {string.Join(", ", request.RawParameters)}");

// You can now send this request through any client
// Or batch multiple requests together
var ethBlockNumber = new EthBlockNumber();
var request2 = ethBlockNumber.BuildRequest();

// Both requests can be sent in a batch

Source: consoletests/Nethereum.Parity.Reactive.ConsoleTest/Program.cs

Example 8: Network Information

using Nethereum.JsonRpc.Client;
using Nethereum.RPC.Net;

var client = new RpcClient(new Uri("https://mainnet.infura.io/v3/YOUR-PROJECT-ID"));

// Get network version (chain ID as string)
var netVersion = new NetVersion(client);
var version = await netVersion.SendRequestAsync();
Console.WriteLine($"Network version: {version}");

// Check if node is listening for network connections
var netListening = new NetListening(client);
var isListening = await netListening.SendRequestAsync();
Console.WriteLine($"Node listening: {isListening}");

// Get peer count
var netPeerCount = new NetPeerCount(client);
var peerCount = await netPeerCount.SendRequestAsync();
Console.WriteLine($"Peer count: {peerCount.Value}");

Example 9: Transaction Receipt

using Nethereum.JsonRpc.Client;
using Nethereum.RPC.Eth.Transactions;
using Nethereum.RPC.Eth.DTOs;

var client = new RpcClient(new Uri("https://mainnet.infura.io/v3/YOUR-PROJECT-ID"));
var ethGetTransactionReceipt = new EthGetTransactionReceipt(client);

var txHash = "0x1234..."; // Your transaction hash
var receipt = await ethGetTransactionReceipt.SendRequestAsync(txHash);

if (receipt != null)
{
    Console.WriteLine($"Transaction status: {(receipt.Status.Value == 1 ? "Success" : "Failed")}");
    Console.WriteLine($"Block number: {receipt.BlockNumber.Value}");
    Console.WriteLine($"Gas used: {receipt.GasUsed.Value}");
    Console.WriteLine($"Contract address: {receipt.ContractAddress}"); // If contract creation

    // Decode events (logs)
    foreach (var log in receipt.Logs)
    {
        Console.WriteLine($"Log address: {log.Address}");
        Console.WriteLine($"Log topics: {string.Join(", ", log.Topics)}");
    }
}
else
{
    Console.WriteLine("Transaction not found or pending");
}

Example 10: EIP-1559 Gas Fee Estimation

using Nethereum.JsonRpc.Client;
using Nethereum.RPC.Eth;
using Nethereum.RPC.Eth.DTOs;

var client = new RpcClient(new Uri("https://mainnet.infura.io/v3/YOUR-PROJECT-ID"));

// Get max priority fee per gas (tip to miner)
var ethMaxPriorityFeePerGas = new EthMaxPriorityFeePerGas(client);
var maxPriorityFee = await ethMaxPriorityFeePerGas.SendRequestAsync();
Console.WriteLine($"Max priority fee: {maxPriorityFee.Value} wei");

// Get base fee from latest block
var ethGetBlockByNumber = new EthGetBlockByNumber(client);
var block = await ethGetBlockByNumber.SendRequestAsync(
    BlockParameter.CreateLatest(),
    false
);
var baseFee = block.BaseFeePerGas;
Console.WriteLine($"Base fee: {baseFee.Value} wei");

// Calculate max fee per gas (base fee + priority fee + buffer)
var maxFeePerGas = baseFee.Value + (maxPriorityFee.Value * 2);
Console.WriteLine($"Recommended max fee: {maxFeePerGas} wei");

// Use in EIP-1559 transaction
var tx1559 = new TransactionInput
{
    From = "0x12890D2cce102216644c59daE5baed380d84830c",
    To = "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
    Value = new Nethereum.Hex.HexTypes.HexBigInteger(1000000000000000000),
    MaxPriorityFeePerGas = maxPriorityFee,
    MaxFeePerGas = new Nethereum.Hex.HexTypes.HexBigInteger(maxFeePerGas),
    Type = new Nethereum.Hex.HexTypes.HexBigInteger(2) // EIP-1559 transaction type
};

API Service Classes

The package provides service classes that group related RPC methods:

EthApiService

Provides access to all Ethereum RPC methods:

using Nethereum.JsonRpc.Client;
using Nethereum.RPC;

var client = new RpcClient(new Uri("https://mainnet.infura.io/v3/YOUR-PROJECT-ID"));
var ethApi = new EthApiService(client);

// Access any Eth method through the service
var blockNumber = await ethApi.Blocks.GetBlockNumber.SendRequestAsync();
var balance = await ethApi.GetBalance.SendRequestAsync("0x742d35Cc6634C0532925a3b844Bc454e4438f44e");
var gasPrice = await ethApi.GasPrice.SendRequestAsync();

NetApiService

Provides access to network RPC methods:

var netApi = new NetApiService(client);

var version = await netApi.Version.SendRequestAsync();
var peerCount = await netApi.PeerCount.SendRequestAsync();
var isListening = await netApi.Listening.SendRequestAsync();

PersonalApiService

Provides access to personal/account RPC methods:

var personalApi = new PersonalApiService(client);

// Note: Most nodes disable personal API methods for security
var accounts = await personalApi.ListAccounts.SendRequestAsync();

Block Parameters

Many RPC methods accept a BlockParameter to specify which block to query:

using Nethereum.RPC.Eth.DTOs;

// Latest block
var latest = BlockParameter.CreateLatest();

// Earliest block (genesis)
var earliest = BlockParameter.CreateEarliest();

// Pending block
var pending = BlockParameter.CreatePending();

// Specific block number
var specific = new BlockParameter(18000000);

// Use with any method that accepts block parameter
var balance = await ethGetBalance.SendRequestAsync(address, latest);

Transaction Types

The package supports all Ethereum transaction types:

using Nethereum.RPC.Eth.DTOs;
using Nethereum.Hex.HexTypes;

// Legacy transaction (Type 0)
var legacyTx = new TransactionInput
{
    From = "0x...",
    To = "0x...",
    Value = new HexBigInteger(1000000000000000000),
    Gas = new HexBigInteger(21000),
    GasPrice = new HexBigInteger(20000000000) // 20 gwei
};

// EIP-2930 transaction (Type 1) - with access list
var eip2930Tx = new TransactionInput
{
    From = "0x...",
    To = "0x...",
    Type = new HexBigInteger(1),
    AccessList = new AccessListItem[]
    {
        new AccessListItem
        {
            Address = "0x...",
            StorageKeys = new[] { "0x..." }
        }
    }
};

// EIP-1559 transaction (Type 2) - with dynamic fees
var eip1559Tx = new TransactionInput
{
    From = "0x...",
    To = "0x...",
    Type = new HexBigInteger(2),
    MaxPriorityFeePerGas = new HexBigInteger(2000000000), // 2 gwei tip
    MaxFeePerGas = new HexBigInteger(50000000000) // 50 gwei max
};

DTOs (Data Transfer Objects)

The package includes comprehensive DTOs for all RPC requests and responses:

  • BlockWithTransactions / Block - Block information
  • Transaction - Transaction details
  • TransactionReceipt - Transaction receipt with logs
  • FilterInput - Event filter configuration
  • Log - Event log entry
  • CallInput / TransactionInput - Transaction/call input
  • SyncStatus - Node sync status
  • AccessListItem - EIP-2930 access list

All DTOs are in the Nethereum.RPC.Eth.DTOs namespace.

Error Handling

using Nethereum.JsonRpc.Client;
using Nethereum.RPC.Eth;

var client = new RpcClient(new Uri("https://mainnet.infura.io/v3/YOUR-PROJECT-ID"));
var ethGetBalance = new EthGetBalance(client);

try
{
    var balance = await ethGetBalance.SendRequestAsync(
        "0xinvalid-address",
        BlockParameter.CreateLatest()
    );
}
catch (RpcResponseException ex)
{
    Console.WriteLine($"RPC Error: {ex.Message}");
    Console.WriteLine($"RPC Error Code: {ex.RpcError?.Code}");
}
catch (Exception ex)
{
    Console.WriteLine($"Error: {ex.Message}");
}

Best Practices

  1. Use Web3 for Most Scenarios: Unless you need direct RPC access, use the Web3 API which provides a more convenient interface

  2. Reuse Client Instances: Create one client and reuse it across multiple RPC method instances

  3. Handle Null Responses: Some methods return null (e.g., pending transactions, receipts for pending txs)

  4. Use BlockParameter Appropriately:

    • Latest - Most recent block (may reorganize)
    • Finalized - Finalized block (after merge, more stable)
    • Specific number - For historical queries
  5. Batch Requests When Possible: For multiple independent queries, use batch requests to reduce round trips

  6. Choose the Right Client:

    • HTTP for simple queries
    • WebSocket for subscriptions and frequent updates
    • IPC for local node connections (lowest latency)
  7. EIP-1559 Gas Estimation: Always query eth_maxPriorityFeePerGas and base fee from latest block for accurate EIP-1559 transactions

  8. Error Handling: Always handle RpcResponseException for RPC-level errors (invalid params, execution reverted, etc.)

Advanced Usage

Transaction Managers

The package includes transaction manager infrastructure for handling nonce tracking and transaction lifecycle:

using Nethereum.RPC.TransactionManagers;
using Nethereum.RPC.NonceServices;

// Custom nonce management
var nonceService = new InMemoryNonceService(address, client);
var currentNonce = await nonceService.GetNextNonceAsync();

Fee Suggestion Services

For dynamic gas fee estimation:

using Nethereum.RPC.Fee1559Suggestions;

var feeSuggestionService = new Fee1559SuggestionService(client);
var suggestion = await feeSuggestionService.SuggestFeeAsync();

Console.WriteLine($"Suggested base fee: {suggestion.BaseFee}");
Console.WriteLine($"Suggested max priority fee: {suggestion.MaxPriorityFeePerGas}");
Console.WriteLine($"Suggested max fee: {suggestion.MaxFeePerGas}");
  • Nethereum.Web3 - High-level Web3 API (builds on this package)
  • Nethereum.Contracts - Smart contract interaction (uses RPC methods)
  • Nethereum.JsonRpc.Client - HTTP client implementation
  • Nethereum.JsonRpc.WebSocketClient - WebSocket client
  • Nethereum.JsonRpc.IpcClient - IPC client
  • Nethereum.RPC.Reactive - Reactive extensions for RPC (polling, subscriptions)

Testing

The package includes comprehensive integration tests demonstrating all RPC methods:

tests/Nethereum.RPC.IntegrationTests/Testers/
├── EthGetBalanceTester.cs
├── EthBlockNumberTester.cs
├── EthCallTester.cs
├── EthChainIdTester.cs
├── EthSendTransactionTester.cs
└── ... (50+ test classes)

Additional Resources

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net451 is compatible.  net452 was computed.  net46 was computed.  net461 is compatible.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (41)

Showing the top 5 NuGet packages that depend on Nethereum.RPC:

Package Downloads
Nethereum.Contracts

Nethereum Contracts is the core library to interact via RPC with Smart contracts in Ethereum

Nethereum.Web3

Nethereum.Web3 Ethereum Web3 Class Library to interact via RPC with an Ethereum client, for example geth. Including contract interaction, deployment, transaction, encoding / decoding and event filters

Nethereum.Accounts

Nethereum.Accounts Ethereum Accounts and Transaction Managers Class Library

Nethereum.BlockchainProcessing

Nethereum.BlockchainProcessing Ethereum blockchain processing allowing to crawl Blocks, Transactions, TransactionReceipts and Logs (Event) for storage and / or using custom handlers like queuing , search, etc

Nethereum.RPC.Reactive

Nethereum.RPC.Reactive, Reactive Client Subscriptions (WebSockets) and RPC Extensions for Nethereum

GitHub repositories (5)

Showing the top 5 popular GitHub repositories that depend on Nethereum.RPC:

Repository Stars
ChainSafe/web3.unity
🕹 Unity SDK for building games that interact with blockchains.
Texnomic/SecureDNS
Secure, Modern, Fully-Featured, All-In-One Cross-Architecture & Cross-Platform DNS Server Using .NET 10
yc-l/yc.boilerplate
YC. Boilerplate is a set of loose coupling, flexible combination, complete functions, convenient development, and reduces the workload of development.
JayArrowz/PancakeTokenSniper
BSC BNB Pancake token sniper, buy, take profit and rug check
biheBlockChain/MyLinkToken
开源链克口袋,玩客币钱包
Version Downloads Last Updated
5.8.0 2,507 1/6/2026
5.0.0 305,539 5/28/2025
4.29.0 227,348 2/10/2025
4.28.0 73,263 1/7/2025
4.27.1 12,885 12/24/2024
4.27.0 2,009 12/24/2024
4.26.0 103,157 10/1/2024
4.25.0 26,178 9/19/2024
4.21.4 98,168 8/9/2024
4.21.3 13,256 7/22/2024
4.21.2 69,871 6/26/2024
4.21.1 2,958 6/26/2024
4.21.0 13,199 6/18/2024
4.20.0 318,517 3/28/2024
4.19.0 86,580 2/16/2024
4.18.0 298,532 11/21/2023
4.17.1 78,727 9/28/2023
4.17.0 17,448 9/27/2023
4.16.0 122,224 8/14/2023
4.15.2 131,579 7/11/2023
4.15.1 4,446 7/11/2023
4.15.0 4,929 7/11/2023
4.14.0 193,851 3/19/2023
4.13.0 133,346 2/18/2023
4.12.0 271,361 12/9/2022
4.11.0 175,610 10/27/2022
4.9.0 115,579 9/27/2022
4.8.0 181,505 8/24/2022
4.7.0 173,115 7/20/2022
4.6.1 134,244 6/18/2022
4.6.0 10,720 6/16/2022
4.5.0 407,451 5/13/2022
4.4.1 108,430 4/27/2022
4.4.0 14,647 4/27/2022
4.3.0 72,739 4/12/2022
4.2.0 175,993 2/18/2022
4.1.1 492,365 11/4/2021
4.1.0 31,184 10/15/2021
4.0.5 139,742 8/12/2021
4.0.4 8,699 8/10/2021
4.0.3 8,781 8/8/2021
4.0.2 7,712 8/5/2021
4.0.1 14,250 7/28/2021
4.0.0 19,444 7/26/2021
3.8.0 399,268 7/3/2020
3.7.1 117,805 2/13/2020
3.7.0 10,462 2/13/2020
3.6.0 33,765 1/27/2020
3.5.0 21,708 12/31/2019
3.4.0 153,426 7/29/2019
3.3.0 79,227 4/23/2019
3.2.0 45,755 4/8/2019
3.1.2 23,854 3/13/2019
3.1.1 6,353 3/12/2019
3.1.0 27,412 3/12/2019
3.0.0 38,574 11/28/2018
3.0.0-rc3 5,926 10/25/2018
3.0.0-rc2 3,743 10/24/2018
3.0.0-rc1 9,243 7/25/2018
2.5.1 105,611 6/5/2018
2.5.0 6,473 6/4/2018
2.4.0 52,866 3/11/2018
2.3.1 7,987 3/7/2018
2.3.0 6,371 3/6/2018
2.2.3 19,106 12/16/2017
2.2.2 6,160 12/16/2017
2.2.0 6,317 12/8/2017
2.1.0 11,582 10/23/2017
2.0.1 6,093 10/4/2017
2.0.0 7,067 9/26/2017
2.0.0-rc7 4,243 8/17/2017
2.0.0-rc6-2 3,798 7/29/2017
2.0.0-rc6.1 1,119 7/26/2017
2.0.0-rc5 2,814 6/19/2017
2.0.0-rc4 3,875 6/6/2017
2.0.0-rc3 3,525 4/11/2017
2.0.0-rc2-fix 3,030 4/6/2017
2.0.0-rc2 1,649 4/5/2017
2.0.0-rc1 3,594 2/8/2017
1.0.6 5,346 2/3/2017
1.0.5 2,354 1/31/2017
1.0.4 5,109 12/10/2016
1.0.3 3,150 11/28/2016
1.0.2 3,290 11/21/2016
1.0.1 3,639 10/31/2016
1.0.0 14,040 9/14/2016
1.0.0-rc6 2,524 9/12/2016
1.0.0-rc5 5,646 8/1/2016
1.0.0-rc4 3,320 7/29/2016
1.0.0-rc1 2,560 3/30/2016
1.0.0-alpha 2,681 2/27/2016