diff --git a/packages/client/bin/cli.ts b/packages/client/bin/cli.ts index 348a79f79f..c8c6299915 100755 --- a/packages/client/bin/cli.ts +++ b/packages/client/bin/cli.ts @@ -24,6 +24,7 @@ import * as readline from 'readline' import { EthereumClient } from '../lib/client' import { Config, DataDirectory, SyncMode } from '../lib/config' +import { LevelDB } from '../lib/execution/level' import { getLogger } from '../lib/logging' import { Event } from '../lib/types' import { parseMultiaddrs } from '../lib/util' @@ -424,7 +425,7 @@ async function startClient(config: Config, customGenesisState?: GenesisState) { if (customGenesisState !== undefined) { const validateConsensus = config.chainCommon.consensusAlgorithm() === ConsensusAlgorithm.Clique blockchain = await Blockchain.create({ - db: dbs.chainDB as any, + db: new LevelDB(dbs.chainDB), genesisState: customGenesisState, common: config.chainCommon, hardforkByHeadBlockNumber: true, diff --git a/packages/client/lib/blockchain/chain.ts b/packages/client/lib/blockchain/chain.ts index 08d1362cf6..6260441e9a 100644 --- a/packages/client/lib/blockchain/chain.ts +++ b/packages/client/lib/blockchain/chain.ts @@ -3,6 +3,7 @@ import { Blockchain } from '@ethereumjs/blockchain' import { ConsensusAlgorithm, Hardfork } from '@ethereumjs/common' import { equalsBytes } from 'ethereum-cryptography/utils' +import { LevelDB } from '../execution/level' import { Event } from '../types' import type { Config } from '../config' @@ -133,7 +134,7 @@ export class Chain { options.blockchain = options.blockchain ?? new (Blockchain as any)({ - db: options.chainDB, + db: new LevelDB(options.chainDB), common: options.config.chainCommon, hardforkByHeadBlockNumber: true, validateBlocks: true, @@ -213,7 +214,7 @@ export class Chain { */ async open(): Promise { if (this.opened) return false - await (this.blockchain.db as any)?.open() + await this.blockchain.db.open() await (this.blockchain as any)._init() this.opened = true await this.update(false)