Commit Graph

18 Commits

Author SHA1 Message Date
9e483fc9f7 Updates for Cancun fork (#10)
- Bumps Geth to v1.14
- Adds support for pebbledb

Reviewed-on: #10
2024-08-05 13:17:00 +00:00
0c323433af Missing ENV bindings. (#9)
In passing, I noticed that these options were no longer being bound to their defined ENV variables.

Reviewed-on: #9
Co-authored-by: Thomas E Lackey <telackey@bozemanpass.com>
Co-committed-by: Thomas E Lackey <telackey@bozemanpass.com>
2023-10-09 20:23:53 +00:00
00141776bf Refactor to use statediff plugin (#1)
* Refactors to replace most of the code with the statediff plugin.
* Adds basic CI test workflows for Gitea
* Refactors fixtures to use https://git.vdb.to/cerc-io/eth-testing
* Renames env vars for consistency with flags and other services:
  - LOGRUS_{LEVEL,FILE} => LOG_LEVEL, etc.
  - LVL_DB_PATH => LEVELDB_PATH
  - ANCIENT_DB_PATH => LEVELDB_ANCIENT
  - These will need to be updated wherever they are used

Reviewed-on: #1
2023-09-29 18:43:26 +00:00
768357293c
Add progress counter to prometheus output (#76)
* Add a progress counter by checking the distance already traversed from the startPath to endPath in a bounded iterator vs the estimated number of iterations.
2023-05-23 11:23:58 -05:00
82176ea41c
Add Docker files (#73) 2023-05-09 10:33:32 -05:00
Ian Norden
05aeeab581
Account selective snapshot (#46)
* snapshotter ignores nodes not along a path along those derived from a list of account addresses if one is provided

* config and env updates

* cmd update

* Encode watched address path bytes to hex for comparison

* actually ignore the subtries that are not along the paths of interest

* Fixes for account selective snapshot

* Use non-concurrent iterator when having a single worker

* Only index root node when starting path of an iterator is nil

* Upgrade deps

* Avoid tracking iterators and skip recovery test

* Fix recovery mechanism, use sync Map instead of buffered channels

* Add test for account selective snapshot

* Continue traversal with concurrent iterators with starting path nil

* Use errgroup to simplify error handling with concurrent iterators

* Check if all the nodes are indexed in the recovery test

* Use concurrency safe sync Map in account selective snapshot test

* Only track concurrent iterators and refactor code

* Fix node and recovered path comparison

* Revert back to using buffered channels for tracking iterators

* Add a metric to monitor number of active iterators

* Update docs

* Update seeked path after node is processed

* Return error on context cancellation from subtrie iteration

* Add tests for account selective snapshot recovery

* Explicity enforce concurrent iterator bounds to avoid duplicate nodes

* Update full snapshot test to check nodes being indexed

* Refactor code to simplify snapshot logic

* Remove unnecessary function argument

* Use ctx cancellation for handling signals

* Add descriptive comments

Co-authored-by: prathamesh0 <prathamesh.musale0@gmail.com>
2022-08-03 17:05:04 +05:30
prathamesh0
b241bf05eb
Add command to take an in-place snapshot (#42)
* Add command to take an in-place snapshot

* Add test data for in place snapshot unit test

* Implement unit test for inplace snapshot

* Add check for storage IPLD

* Run unit tests sequentially

* Add github workflow for unit test

* Add missing checks for state and storage cid fields

* Add more storage nodes to test

* Update ipld-eth-db version for tests

* Add comments for inplace snapshot test data

* Add in-place snapshot cmd in readme

* Implement defer pattern for db transaction

* Log transaction commit or rollback error

Co-authored-by: nabarun <nabarun@deepstacksoft.com>
2022-06-15 12:51:26 +05:30
i-norden
31105a009c add env bindings 2022-04-04 14:35:18 -05:00
i-norden
060eb5cf67 add some logs and guards, update module name, update readme 2022-03-30 18:57:30 -05:00
c4b4f232e9 create csv file publisher; update geth and schema 2022-02-14 07:22:31 +08:00
b91c5d2d69 Fix config initialization 2022-01-27 12:40:14 +08:00
2bb06e0a8d split ethdb out of service 2022-01-10 23:37:27 -06:00
1fab8ac1c8 rf config, mock publisher 2022-01-10 19:08:45 -06:00
Arijit Das
112cdc9670 Address comments. 2021-12-15 12:53:18 +05:30
Arijit Das
e4de336833 Fix linting errors. 2021-12-14 12:59:34 +05:30
Arijit Das
ba8e32ce97 Update geth and implement transaction batching. 2021-12-13 20:31:32 +05:30
Ian Norden
5ed3e92469 use freezer db 2020-08-03 10:46:35 -05:00
Ian Norden
78adba02ea state snapshot extractor 2020-07-01 14:10:41 -05:00