// Emulates receiving a valid block that builds on top of the chain. public static BlockPair CreateFakeBlock(NetworkParameters @params, IBlockStore blockStore, params Transaction[] transactions) { var b = MakeTestBlock(@params, blockStore); // Coinbase tx was already added. foreach (var tx in transactions) b.AddTransaction(tx); b.Solve(); var pair = new BlockPair(); pair.Block = b; pair.StoredBlock = blockStore.GetChainHead().Build(b); blockStore.Put(pair.StoredBlock); blockStore.SetChainHead(pair.StoredBlock); return pair; }
// Emulates receiving a valid block that builds on top of the chain. private BlockPair CreateFakeBlock(params Transaction[] transactions) { var b = _blockStore.GetChainHead().Header.CreateNextBlock(new EcKey().ToAddress(_params)); foreach (var tx in transactions) { b.AddTransaction(tx); } b.Solve(); var pair = new BlockPair(); pair.Block = b; pair.StoredBlock = _blockStore.GetChainHead().Build(b); _blockStore.Put(pair.StoredBlock); _blockStore.SetChainHead(pair.StoredBlock); return(pair); }
// Emulates receiving a valid block that builds on top of the chain. public static BlockPair CreateFakeBlock(NetworkParameters networkParams, IBlockStore blockStore, params Transaction[] transactions) { var b = MakeTestBlock(networkParams, blockStore); // Coinbase tx was already added. foreach (var tx in transactions) { b.AddTransaction(tx); } b.Solve(); var pair = new BlockPair(); pair.Block = b; pair.StoredBlock = blockStore.GetChainHead().Build(b); blockStore.Put(pair.StoredBlock); blockStore.SetChainHead(pair.StoredBlock); return(pair); }