async def METHOD_NAME(db_file: Path, blocks: List[FullBlock]) -> None:
    db_wrapper = await DBWrapper2.create(database=db_file, reader_count=1, db_version=2)
    try:
        async with db_wrapper.writer_maybe_transaction() as conn:
            # this is done by chia init normally
            await conn.execute("CREATE TABLE database_version(version int)")
            await conn.execute("INSERT INTO database_version VALUES (2)")
        block_store = await BlockStore.create(db_wrapper)
        coin_store = await CoinStore.create(db_wrapper)
        bc = await Blockchain.create(coin_store, block_store, test_constants, Path("."), reserved_cores=0)
        for block in blocks:
            results = PreValidationResult(None, uint64(1), None, False)
            result, err, _ = await bc.add_block(block, results)
            assert err is None
    finally:
        await db_wrapper.close()