Fully replace go-ethereum
imports with plugeth-utils
#6
Labels
No Label
Copied from Github
Kind/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: cerc-io/plugeth-statediff#6
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
In order to remove
go-ethereum
(replaced withplugeth
) as a dependency and the workarounds needed to make this work with Go's plugin architecture (see #2 (comment); worked around by forking plugeth to move itsmain
to separate module, plus CGO linking patches) we will have to completely refactor thego-ethereum
types to use corresponding types fromplugeth-utils
.We need to evaluate the impact this will have on other tooling that depends on the statediffing code.
Many tests use Geth's helpers for chain generation and manipulation, so those will need to be cloned, along with other utilities. If feasible, it may be worth moving such tests to a separate module which can make use of both this code and parts of Geth.
Is this still a thing?
Yes: since Plugeth plugins are intended to be built without any Go-level dependencies on
go-ethereum
/plugeth
, and all interfacing with Geth types going throughplugeth-utils
. This prevents the need to 1. exactly match dependency versions, and 2. for the workaround described in the original Plugeth PR:But it means extensive refactoring as described above. When we are able/want to switch to stock plugeth, we will need to do this (or upstream the workarounds, but I doubt they want to support this case).
Remove dependence on Gethto Fully replace `go-ethereum` imports with `plugeth-utils`