Nethereum.BlockchainStorage.Processors 6.0.0

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package Nethereum.BlockchainStorage.Processors --version 6.0.0
                    
NuGet\Install-Package Nethereum.BlockchainStorage.Processors -Version 6.0.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.BlockchainStorage.Processors" Version="6.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Nethereum.BlockchainStorage.Processors" Version="6.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Nethereum.BlockchainStorage.Processors" />
                    
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.BlockchainStorage.Processors --version 6.0.0
                    
#r "nuget: Nethereum.BlockchainStorage.Processors, 6.0.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.BlockchainStorage.Processors@6.0.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.BlockchainStorage.Processors&version=6.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Nethereum.BlockchainStorage.Processors&version=6.0.0
                    
Install as a Cake Tool

Nethereum.BlockchainStorage.Processors

Database-agnostic background hosted services for indexing Ethereum blockchain data with automatic retry, reorg handling, and internal transaction tracing.

Overview

Nethereum.BlockchainStorage.Processors provides ready-to-use BackgroundService implementations that wire together the Nethereum.BlockchainProcessing pipeline with any EF Core-based blockchain storage provider. This package contains the processing logic; pair it with a provider-specific package for DI registration.

Two processors are included:

  1. Block processor - Crawls blocks, transactions, receipts, logs, and contract creations. Handles reorgs by marking non-canonical records and re-indexing.
  2. Internal transaction processor - Traces transactions via debug_traceTransaction (call tracer) and stores internal calls. Runs behind the block processor, capped to the main processor's progress.

Key Features

  • BlockchainProcessingHostedService runs the block processing pipeline as a BackgroundService
  • InternalTransactionProcessingHostedService traces internal transactions as a separate BackgroundService
  • Exponential backoff retry via RetryRunner.RunWithExponentialBackoffAsync()
  • Chain ID validation on startup via ChainStateValidationService.EnsureChainIdMatchesAsync()
  • Reorg detection and handling: marks blocks, transactions, logs, and token transfers as non-canonical
  • Batch receipt fetching (UseBatchReceipts option, enabled by default)
  • Contract code retrieval on deployment
  • Configurable via BlockchainProcessingOptions from IConfiguration

Installation

Use the provider-specific package instead of referencing this package directly:

dotnet add package Nethereum.BlockchainStorage.Processors.Postgres
dotnet add package Nethereum.BlockchainStorage.Processors.SqlServer
dotnet add package Nethereum.BlockchainStorage.Processors.Sqlite

Configuration

Options are bound from IConfiguration. The extension method checks for a "BlockchainProcessing" section first; if absent, it reads from the root configuration.

{
  "BlockchainUrl": "http://localhost:8545",
  "BlockchainProcessing": {
    "BlockchainUrl": "http://localhost:8545",
    "MinimumBlockConfirmations": 12,
    "FromBlock": 0,
    "ReorgBuffer": 10,
    "UseBatchReceipts": true
  }
}

BlockchainProcessingOptions

Property Type Default Description
BlockchainUrl string required JSON-RPC endpoint URL
Name string null Optional chain name for logging
MinimumBlockConfirmations uint? 12 Blocks behind chain head to wait before processing
FromBlock BigInteger? null Starting block if no progress exists
ToBlock BigInteger? null Stop at this block (null = continuous)
ReorgBuffer int 0 Number of blocks to re-check for reorgs
UseBatchReceipts bool true Use eth_getBlockReceipts instead of individual receipt calls
NumberOfBlocksToProcessPerRequest int 1000 Batch size for log retrieval
RetryWeight int 50 Reduce batch size on retry failures
ProcessBlockTransactionsInParallel bool true Parallel transaction processing within a block
PostVm bool false Include VM stack traces

Provider-Specific Packages

See Also

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on Nethereum.BlockchainStorage.Processors:

Package Downloads
Nethereum.BlockchainStorage.Processors.SqlServer

SQL Server-specific DI registration for the Nethereum blockchain indexer hosted services.

Nethereum.BlockchainStorage.Processors.Sqlite

SQLite-specific DI registration for the Nethereum blockchain indexer hosted services.

Nethereum.BlockchainStorage.Processors.Postgres

PostgreSQL-specific DI registration for the Nethereum blockchain indexer hosted services.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
6.0.4 43 3/18/2026
6.0.3 25 3/18/2026
6.0.1 53 3/17/2026
6.0.0 51 3/16/2026