Exemple #1
0
        public void Can_extend_chain_on_hint_block_when_high_difficulty_low_number()
        {
            SyncPeerMock peerA = new SyncPeerMock("A");

            peerA.AddBlocksUpTo(10);

            SyncPeerMock peerB = new SyncPeerMock("B");

            peerB.AddHighDifficultyBlocksUpTo(5, 0, 1);

            When.Syncing
            .AfterProcessingGenesis()
            .AfterPeerIsAdded(peerA)
            .Wait()
            .AfterPeerIsAdded(peerB)
            .Wait()
            .After(() => peerB.AddHighDifficultyBlocksUpTo(6, 0, 1))
            .AfterHintBlockMessage(peerB.HeadBlock, peerB)
            .BestSuggestedHeaderIs(peerB.HeadHeader).Stop();
        }
Exemple #2
0
        public void Can_reorg_based_on_total_difficulty()
        {
            SyncPeerMock peerA = new SyncPeerMock("A");

            peerA.AddBlocksUpTo(10);

            SyncPeerMock peerB = new SyncPeerMock("B");

            peerB.AddHighDifficultyBlocksUpTo(6, 0, 1);

            When.Syncing
            .AfterProcessingGenesis()
            .AfterPeerIsAdded(peerA)
            .BestSuggestedHeaderIs(peerA.HeadHeader)
            .AfterPeerIsAdded(peerB)
            .BestSuggestedHeaderIs(peerB.HeadHeader).Stop();
        }