Compatible versions
- Node: v0.2.5
Changelog
- New invalid RLP ROM error support
- Fix ECRecover for case posUsed=-1 in native main executor code
- Add old state root and old batch number in executor response trace.
- Rename error to result in executor response trace.
- Create config.logExecutorServerInputJson to log input.json always before executing.
- Add thread ID to log traces
- Fix the log of the configuration parameters at boot time, showing always the important ones, and shortening config.databaseURL
- Improve DatabaseMap performance by not to copying the [key,value] pairs when not needed
- Delete config.dbMultiWriteSinglePosition, no longer needed since now we have config.stateManager to activate the equivalent funcionality
- Add a call to CheckTree() with new state root to executor test client, enabled if config.executorClientCheckNewStateRoot=true
- New StateManager component that groups all new hashes creation and deletion within the processing of a batch. This is enabled via config.stateManager=true, and purges unnecessary (deleted) hashes if config.stateManagerPurge=true
- Fix Database.read() logic to save multiWrite read data to cache
- New DatabasePerformanceTest to test database performance based on value size. Enabled via config.runDatabasePerformanceTest=true
- New CheckTree test that climbs a tree from root to all leafs, searching for missing hashes or wrong data content. Test is activated with config.runCheckTreeTest=true, and root is specified using config.checkTreeRoot (if “auto”, last state root saved to database is used)
- New associative database cache, activated with config.useAssociativeCache=true
- Fix database cache attempts and hits counters
- StateManager to update state root when flushing
- Database sender thread to retry after 5 seconds if connection to database was lost
- Split long database queries into several smaller ones after passing config.dbMultiWriteSingleQuerySize
- Enable generated code for fork 4 main executor
Prover v2.1.0 config changes
-
New elements
-- stateManager: boolean to activate the state manager (default=false) (set to true)
-- useAssociativeCache: if true, an associative database cache is used (default=false) (set to true) -
New elements that normally should not be used
-- executorClientCheckNewStateRoot: boolean to check the new state root returned by executor server (default=false)
-- stateManagerPurge: boolean to purge deleted hashed during flush (default=true)
-- runDatabasePerformanceTest: boolean to activate the database performance test (default=false)
-- runCheckTreeTest: boolean to activate the check tree test (default=false)
-- checkTreeRoot: string, root to use in check tree test, set to auto to get last state root from database (default=”auto”)
-- dbMultiWriteSingleQuerySize: size in bytes that triggers to use a new database query and close the current one to be sent to database (default=20971520=20MB)
-- logExecutorServerInputJson: boolean, set to true to log input before executing, in json format (default=false) -
Deleted elements, no longer supported
-- dbMultiWriteSinglePosition: use stateManager instead