BitcoinBlockchainParser 1.0.8
dotnet add package BitcoinBlockchainParser --version 1.0.8
NuGet\Install-Package BitcoinBlockchainParser -Version 1.0.8
<PackageReference Include="BitcoinBlockchainParser" Version="1.0.8" />
<PackageVersion Include="BitcoinBlockchainParser" Version="1.0.8" />
<PackageReference Include="BitcoinBlockchainParser" />
paket add BitcoinBlockchainParser --version 1.0.8
#r "nuget: BitcoinBlockchainParser, 1.0.8"
#:package BitcoinBlockchainParser@1.0.8
#addin nuget:?package=BitcoinBlockchainParser&version=1.0.8
#tool nuget:?package=BitcoinBlockchainParser&version=1.0.8
BitcoinBlockchainParser
This library provides a parser for files containing the Bitcoin blockchain.
Features
- Detects outputs types
- Detects addresses in outputs
- Interprets scripts
- Supports SegWit and Taproot
- Supports ordered block parsing
- Supports file XOR-deobfuscation (Bitcoin Core 28.0 or newer)
Examples
Below are two basic examples for parsing the blockchain.
Unordered Blocks
This blockchain parser parses raw blocks saved in Bitcoin Core's blk
file format.
Bitcoin Core does not guarantee that these blocks are saved in order.
If your application does not require that blocks are parsed in order, the EnumerateBlocks
method can be used.
using BitcoinBlockchainParser;
var blockchain = new Blockchain(@"C:\Bitcoin\blocks");
foreach (var block in blockchain.EnumerateBlocks().Take(5))
{
Console.WriteLine($"Block: {block.Id} Time: {block.Time:o}");
foreach (var tx in block.Transactions.Take(3))
{
Console.WriteLine($" TX: {tx.TXID} Ins: {tx.Inputs.Length} Outs: {tx.Outputs.Length}");
}
Console.WriteLine();
}
Ordered Blocks
If maintaining block order is necessary for your application, you should use the EnumerateBlocksOrdered
method.
using BitcoinBlockchainParser;
var blockchain = new Blockchain(@"C:\Bitcoin\blocks");
foreach (var block in blockchain.EnumerateBlocksOrdered().Skip(50).Take(20))
{
Console.WriteLine($"Block #{block.Height} {block.Id} Time: {block.Time:o}");
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. 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 | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- No dependencies.
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.