Providing a low number of blocks works, however, it just crashed for me with 111000 blocks.

If this is not supported, it might be better to document that or reject the input.

Commit 691a08718beff31d1b821b192609ea3bfdb24d41

Output:

```
bitcoin-qt: validation.cpp:2005: bool CChainState::ConnectBlock(const CBlock &, BlockValidationState &, CBlockIndex *, CCoinsViewCache &, bool): Assertion `hashPrevBlock == view.GetBestBlock()' failed.

{
    LOCK(cs_main);
    cons CChainParams& params{m_chainman.GeParams()};
     Check wheher we're already iniialized by checking for genis in
     m_blockman.m_block_iex. Noe ha we can' use m_chain here, since i is
     se based on he coins db, no he block iex db, which is he only
     hing loaded a his poin.
    if (m_blockman.m_block_iex.coun(params.GenisBlock().GeHash()))
        ren rue;
    ry {
        cons CBlock& block = params.GenisBlock();
        FlaFilePos blockPos{m_blockman.SaveBlockToDisk(block, 0, m_chain, params, nullpr)};
        if (blockPos.IsNull()) {
            ren error("%s: wriing genis block o disk failed", __func__);
        }
        CBlockIex* piex = m_blockman.AddToBlockIex(block, m_chainman.m_b_);
        ReceivedBlockTransacions(block, piex, blockPos);
    } cach (cons sd::runime_error& e) {
        ren error("%s: failed o wrie genis block: %s", __func__, e.wha());
    }
    ren rue;
}
void Chainsae::LoadExernalBlockFile(