Part of [Support running go-nitro node in/out of process in ipld-eth-server](https://www.notion.so/Support-running-go-nitro-node-in-out-of-process-in-ipld-eth-server-f592e29f0e5b474aa65db1509e5ddf1b)
- Added in-process go-nitro node support
- To be handled in upcoming PRs:
- Out of process go-nitro node support to be added in an upcoming PR
- Refactoring and remaining todos
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Reviewed-on: #256
Co-authored-by: Prathamesh Musale <prathamesh@noreply.git.vdb.to>
Co-committed-by: Prathamesh Musale <prathamesh@noreply.git.vdb.to>
Now uses:
* ipld direct_by_leaf StateDB for basic queries
* trie_by_cid StateDB for trie slice and proof queries
Also:
* vulcanize => cerc refactor
* Backend method to close dbs
* state tests are in multiple packages, to allow separate ginkgo suites
* removes gap-filler module
* integration tests and github workflows
* run stack-orchestrator for testnet
* fix various issues with tests, hardhat server, dockerfile
* fix cmd flags / env vars
* fix flaky tests and clean up code
* remove unused code, scripts
* remove outdated docs
* update version
1. Improve logging to include API method, user ID, etc in the output. We do this by intercepting the request details in the "middleware" and adding them to the request context, as well as adding a wrapper to logrus that simplifies including the fields in the output.
2. Breakdown API metrics by method. This will allow us to differentiate call counts and durations by API method (eg, eth_call vs eth_getStorageAt).
* cerc refactor waiting on unpublished dependencies
* cerc refactor updates for dependencies
* Describe imports got removed
* cleaning up more vulcanize refs in ci/cd
* another test lost Describe imports
* another test lost Describe imports... not caught in go build -a???
* more cerc-io migrations to utilize new git.vdb.to gitea instance
* switching back to github for running unit test
* first try at git.vdb.to as conatiner repository
* targeted tag was incomplete
* Use groupcache pool for state db access
* Group cache config and logging stats on timer
* Integrate state validator into server
* Use tagged ipfs-ethdb
* groupcache config for tests
* Work around duplicate registration of groupcache error in tests
* Use tagged version of eth-ipfs-state-validator
* State validation command.
* Validator for static replicas to keep cache warm
* Update docker go-version and go.mod.
* Address comments and self review.
* Fix ipfs-ethdb version.
Co-authored-by: Arijit Das <arijitad.in@gmail.com>
* update geth statediff to version v1.9.25-statediff-0.0.14
run integration tests in github actions
* fix goose install issue
* fix unit test bug.
Added sorting by tx index for transactions and receipts queries