// 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;
 }
Exemple #2
0
        // 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);
        }
Exemple #3
0
        // 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);
        }