-
Notifications
You must be signed in to change notification settings - Fork 11
Aida VM ADb
A tool for simulating opera block processing on real world historical data (mainnet/testnet). TODO: extend overview
- System Under Test
- ArchiveDB
- Virtual machine
- Functional Tests
- Substate: check per transaction the modified portion of world-state (ie. substate)
- Data set (offline)
- Mainnet
- Testnet
You need a configured Go language environment to build the CLI application. Please check the Go documentation for the details of installing the language compiler on your system.
TODO
To build the aida-vm-adb
application, run make aida-vm-adb
.
The build process downloads all the needed modules and libraries, you don't need to install these manually.
The aida-vm-adb
executable application will be created in /build
folder.
./build/aida-vm-adb [command options] [arguments...]
Executes full state transitions and check output consistency.
./build/aida-vm-adb --aida-db path/to/aida-db --db-src path/to/statedb/with/archive --vm-impl <geth, lfvm> --validate-tx <blockNumFirst> <blockNumLast>
executes transactions from block <blockNumFirst>
to <blockNumLast>
using the historic data in the provided archive validating the state after each transaction. Each transaction loads the historic state of its block and executes the transaction on it in read-only mode.
GLOBAL:
--validate-tx enables validation after transaction processing (default: false)
--workers value Number of worker threads that execute in parallel (default: 4)
--cpu-profile value enables CPU profiling
--chainid value ChainID for replayer (default: 0)
--log value, -l value Level of the logging of the app action ("critical", "error", "warning", "notice", "info", "debug"; default: INFO) (default: "info")
--db-logging value sets path to file for db-logging output
--track-progress enables track progress logging (default: false)
--no-heartbeat-logging disables heartbeat logging (default: false)
--err-logging value defines path to error-log-file where any PROCESSING error is recorded
--aida-db value set substate, updateset and deleted accounts directory
--db-src value sets the directory contains source state DB data
--shadow-db use this flag when using an existing ShadowDb (default: false)
--vm-impl value select VM implementation (default: "geth")