Beispiel #1
0
        public BlockChain ToBlockChain(long nblock)
        {
            if (this.parent != null)
            {
                BlockChain chain = this.parent.ToBlockChain(this.blocks[0].Number - 1);

                foreach (Block block in this.blocks)
                {
                    if (block.Number > nblock)
                    {
                        break;
                    }
                    else
                    {
                        chain.TryToAdd(block);
                    }
                }

                return(chain);
            }
            else
            {
                BlockChain chain = new BlockChain(this.blocks[0]);

                for (var k = 1; k < this.blocks.Count; k++)
                {
                    Block block = this.blocks[k];

                    if (block.Number > nblock)
                    {
                        break;
                    }

                    chain.TryToAdd(block);
                }

                return(chain);
            }
        }