Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove go-ethereum dependency #6136

Open
igor-sirotin opened this issue Nov 27, 2024 · 0 comments
Open

Remove go-ethereum dependency #6136

igor-sirotin opened this issue Nov 27, 2024 · 0 comments

Comments

@igor-sirotin
Copy link
Collaborator

igor-sirotin commented Nov 27, 2024

Rationale

Historically, status-go was a "geth wrapper", but it's not anymore for quite some time. We were heavily based on go-ethereum: we were running a node and used Whisper protocol for messaging. For many reasons a fork was created.

This fork as of today is 8 commits ahead of, 2844 commits behind ethereum/go-ethereum:master:

Image

The fork has serious several security issues and vulnerabilities.

Note

Perhaps we won't be able to remove the dependency completely.
geth contains a lot of handy functions and structs for web3 development.
Yet we should at least minimise it's usage as much as possible.

Dependencies to be replaced

On the other side, there's no big reason to actually still have go-ethereum as dependency. Below we will gather the list of how geth is used in status-go and alternatives for each usecase.

Use case Proposed Alternative Done
Keystore
JSON-RPC server https://github.com/gorilla/rpc
log zap.Logger
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant