v5 Checkpoint #233

Merged
telackey merged 14 commits from ian/v5_dev into v5_incremental 2023-03-20 12:28:58 +00:00
Member

This is the bulk of the functional updates. Not quite finished but getting close. Builds but still need to fix some (most) tests.

  • rename public.blocks to ipld.blocks.
  • rename mh_key to cid.
  • consolidate all sql stmts into a single place.
  • combine ipld and cid retriever structs into a single struct. Originally these were separated because we used to first fetch a cid from Postgres directly, but then fetch the corresponding IPLD block through an ipfs.BlockService abstraction (which could be applied on-top of our DB, using ipfs-ethdb, or used on-top of an IPFS p2p block exchange. We now fetch everything from the local Postgres DB for performance reasons, in one trip where possible.
  • rename node_type => removed; refactor to support.
  • Moved some packages from geth to here, because as geth moves to v5 it no longer uses them (and this is now the only place that does).
  • use ipld-eth-statedb backend for eth_call and relevant graphql endpoints.
  • refactor to use the new (proper) uncle IPLD representation (no longer need to check ordering of returned headers).

TODO:

  • Fix unit tests
  • Rebase to 1.11.4
This is the bulk of the functional updates. Not quite finished but getting close. Builds but still need to fix some (most) tests. * rename public.blocks to ipld.blocks. * rename mh_key to cid. * consolidate all sql stmts into a single place. * combine ipld and cid retriever structs into a single struct. Originally these were separated because we used to first fetch a cid from Postgres directly, but then fetch the corresponding IPLD block through an `ipfs.BlockService` abstraction (which could be applied on-top of our DB, using[ ipfs-ethdb](https://github.com/cerc-io/ipfs-ethdb), or used on-top of an IPFS p2p block exchange. We now fetch everything from the local Postgres DB for performance reasons, in one trip where possible. * rename node_type => removed; refactor to support. * Moved some packages from geth to here, because as geth moves to v5 it no longer uses them (and this is now the only place that does). * use [ipld-eth-statedb](https://github.com/cerc-io/ipld-eth-statedb) backend for `eth_call` and relevant graphql endpoints. * refactor to use the new (proper) uncle IPLD representation (no longer need to check ordering of returned headers). TODO: - [ ] Fix unit tests - [ ] Rebase to 1.11.4
Author
Member

This actually isn't so bad to review

This actually isn't so bad to review
roysc approved these changes 2023-03-17 05:49:36 +00:00
roysc left a comment
Member

LGTM as an incremental part of v5.

One revision - we can change the tag of the ipld-eth-db migrations container to v5.0.0 in the docker-compose.yml. It won't work until that tag is published, but it's not run on this branch anyway.

LGTM as an incremental part of v5. One revision - we can change the tag of the `ipld-eth-db` migrations container to v5.0.0 in the `docker-compose.yml`. It won't work until that tag is published, but it's not run on this branch anyway.
Author
Member

Merging this, next PR will have the test fixes

Merging this, next PR will have the test fixes
Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: cerc-io/ipld-eth-server#233
No description provided.