查找区块中的交易数据
using System;
using BitcoinBlockchain.Data;
using BitcoinBlockchain.Parser;
using System.Collections.Generic;
using System.Linq;
namespace BlockParseSample
{
class Program
{
static void Main(string[] args)
{
string BlockPath = System.Environment.CurrentDirectory;
IBlockchainParser blockchainParser = new BlockchainParser(BlockPath);
IEnumerable<Block> blocks = blockchainParser.ParseBlockchain();
int Txcount = 0;
int txOutCount = 0;
int txInCount = 0;
ulong totalOutputAmount = 0;
foreach (Block block in blocks)
{
foreach (Transaction tx in block.Transactions)
{
foreach (TransactionInput input in tx.Inputs)
{
totalOutputAmount += input.SourceTransactionOutputIndex;
}
}
}
Console.WriteLine("Total output amount: " + totalOutputAmount);
}
}
}
using System;
using BitcoinBlockchain.Data;
using BitcoinBlockchain.Parser;
using System.Collections.Generic;
using System.Linq;
namespace BlockParseSample
{
class Program
{
static void Main(string[] args)
{
string BlockPath = System.Environment.CurrentDirectory;
IBlockchainParser blockchainParser = new BlockchainParser(BlockPath);
IEnumerable<Block> blocks = blockchainParser.ParseBlockchain();
int Txcount = 0;
int txOutCount = 0;
int txInCount = 0;
long totalSatMoved = 0;
foreach (Block block in blocks)
{
Txcount += block.Transactions.Count;
txOutCount += block.Transactions.Sum(tx => tx.Outputs.Count);
txInCount += block.Transactions.Sum(tx => tx.Inputs.Count);
}
Console.WriteLine("block count" + blocks.Count());
Console.WriteLine("Output: " + txOutCount);
Console.WriteLine("Inputs: " + txInCount);
Console.WriteLine("tx count" + Txcount);
}
}
}