mirror of
https://github.com/status-im/nimbus-eth1.git
synced 2025-01-10 20:36:31 +00:00
09fabd04eb
* Provide deep copy for each transaction layer why: Localising changes. Selective deep copy was just overlooked. * Generalise vertex ID generator state reorg function `vidReorg()` why: makes it somewhat easier to handle when saving layers. * Provide dummy back end descriptor `NoneBackendRef` * Optional read-only filter between backend and transaction cache why: Some staging area for accumulating changes to the backend DB. This will eventually be an access layer for emulating a backend with multiple/historic state roots. * Re-factor `persistent()` with filter between backend/tx-cache => `stow()` why: The filter provides an abstraction from the physically stored data on disk. So, there can be several MPT instances using the same disk data with different state roots. Of course, all the MPT instances should not differ too much for practical reasons :). TODO: Filter administration tools need to be provided.
29 lines
870 B
Nim
29 lines
870 B
Nim
# nimbus-eth1
|
|
# Copyright (c) 2021 Status Research & Development GmbH
|
|
# Licensed under either of
|
|
# * Apache License, version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or
|
|
# http://www.apache.org/licenses/LICENSE-2.0)
|
|
# * MIT license ([LICENSE-MIT](LICENSE-MIT) or
|
|
# http://opensource.org/licenses/MIT)
|
|
# at your option. This file may not be copied, modified, or distributed
|
|
# except according to those terms.
|
|
|
|
## Constructors for Aristo DB
|
|
## ==========================
|
|
##
|
|
## See `./README.md` for implementation details
|
|
##
|
|
## This module provides a memory database only. For providing a persistent
|
|
## constructor, import `aristo_init/persistent` though avoiding to
|
|
## unnecessarily link to the persistent backend library (e.g. `rocksdb`)
|
|
## when a memory only database is used.
|
|
##
|
|
{.push raises: [].}
|
|
|
|
import
|
|
./aristo_init/memory_only
|
|
export
|
|
memory_only
|
|
|
|
# End
|