Files
chia-blockchain/tests/core/full_node/ram_db.py
T
Arvid NorbergandGitHub a100dda37e new DBWrapper supporting concurrent readers (#10166)
* new DBWrapper supporting concurrent readers

* adress review comments

* fixup default database version, when file doesn't exist

* remove unused argument
2022-03-28 11:58:00 -07:00

25 lines
1.0 KiB
Python

from typing import Tuple
from pathlib import Path
import random
import aiosqlite
from chia.consensus.blockchain import Blockchain
from chia.consensus.constants import ConsensusConstants
from chia.full_node.block_store import BlockStore
from chia.full_node.coin_store import CoinStore
from chia.full_node.hint_store import HintStore
from chia.util.db_wrapper import DBWrapper2
async def create_ram_blockchain(consensus_constants: ConsensusConstants) -> Tuple[DBWrapper2, Blockchain]:
uri = f"file:db_{random.randint(0, 99999999)}?mode=memory&cache=shared"
connection = await aiosqlite.connect(uri, uri=True)
db_wrapper = DBWrapper2(connection)
await db_wrapper.add_connection(await aiosqlite.connect(uri, uri=True))
block_store = await BlockStore.create(db_wrapper)
coin_store = await CoinStore.create(db_wrapper)
hint_store = await HintStore.create(db_wrapper)
blockchain = await Blockchain.create(coin_store, block_store, consensus_constants, hint_store, Path("."), 2)
return db_wrapper, blockchain