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

[Tracking] - Web3Signer capabilities for Prysm #9994

Open
15 of 23 tasks
james-prysm opened this issue Dec 7, 2021 · 16 comments · Fixed by #9991, #10016, #10056, #10061 or #10084
Open
15 of 23 tasks

[Tracking] - Web3Signer capabilities for Prysm #9994

james-prysm opened this issue Dec 7, 2021 · 16 comments · Fixed by #9991, #10016, #10056, #10061 or #10084
Assignees
Labels
API Api related tasks Good First Issue Good for newcomers Tracking Gotta Catch 'Em All Web3Signer Web3Signer related tasks

Comments

@james-prysm
Copy link
Contributor

james-prysm commented Dec 7, 2021

🚀 Feature Request

Description

Web3Signer is a popular remote signer tool by Consensys to allow users to store validation keys outside of the validation client.
Currently, all other PoS client teams are working to support integration with this tool and Prysm should also be a part.
documentation on the Web3signer tool can be found here https://consensys.github.io/web3signer/web3signer-eth2.html and https://docs.web3signer.consensys.net/en/latest/

Describe the solution you'd like

  • Provide integration with Web3signer by implementing wrapper methods of web3signer rest api endpoints.
  • Integrate support for the new keymanager remote-web3signer in the Prysm validator client for use
  • Create Web3Signer Models and mapper functions for Prysm
  • Prysm refactors required to get data needed for web3signer
  • add validation rules to JSON structs
  • Provide cli flags as webhooks to define the domain of the remote signer
  • Provide cli flags to configure which keys should be used in the signing process.
  • issue Re-Think and Refactor Prysm's Wallet/Keymanager Code #9883 impacted by this feature, need to refactor all of these areas
  • skip test interop mode with --web, this is not supported
  • Allow for reloading of set public keys ( mvp requires restart of Prysm to add new keys) implement remote keymanager api on prysm
  • Add metrics and tracing capabilities to productionize
  • TLS configurations which accepts connections from clients that use trusted CA certificates or self-signed certificates.
  • support voluntary exit via cli for web3signer prysmctl: validator exit  #11515
  • Update Prysm docs to explain support of the feature
  • improve mapper tests to have more realistic data from spec tests
  • web3signer for merge Web3 Signer integration updates for merge #10053
  • E2E tests with real or mock support for web3signer
  • address validator db location for web3signer due to not having subfolder for type Complex ways to manage validator client database path #13391
  • persistent db for public keys

Future Discussions

  • supporting mutiple web3signers? prysm currently supports 1signer to 1 vc
  • TLS support for web3signer

Tracking Changes

As web 3 signer changes we need to track issues and when we should resolve them. I am creating this Issue to track major changes in the future for web3signer.

Items to watch

@james-prysm
Copy link
Contributor Author

cli WIP

@james-prysm
Copy link
Contributor Author

Working on Web3signer object mapping right now

@james-prysm james-prysm added the Web3Signer Web3Signer related tasks label Jan 11, 2022
@james-prysm james-prysm reopened this Jan 11, 2022
@james-prysm
Copy link
Contributor Author

continuing on cli work

@james-prysm
Copy link
Contributor Author

we have merged in the sign implementation pr because it was a bit large, there are some areas to refactor as part of the cli, seeing what we can include for mvp

@james-prysm james-prysm linked a pull request Jan 19, 2022 that will close this issue
@james-prysm james-prysm reopened this Jan 19, 2022
@james-prysm
Copy link
Contributor Author

james-prysm commented Feb 25, 2022

address validator db location for web3signer due to not having subfolder for type

the validator client creates a folder in the default folder location Users//Library/Eth2Validators/prysm-wallet-v2 based on key manager type ( example imported,local,direct type creates the direct folder) but since web3signer doesn't have a location it will use the root folder by default, just something to be aware of for the future.

@rauljordan
Copy link
Contributor

Hi @james-prysm where are we on this tracking issue so far? You've made so much progress since then and I feel like we're very close to closing

@james-prysm
Copy link
Contributor Author

@rauljordan this issue was jsut overall tracking of the web3signer feature including any items that were potentially not covered. a big thing is just tracking future items, for example, the inbuilt TLS support that was asked about as well as multiple signer support. I listed those things as things we don't cover at the moment but haven't had many users ask about this. I'd think it'd mostly be used by institutions though. Let me know if you have an opinion on whether we keep this issue arround for tracking or track it else where.

@james-prysm james-prysm changed the title Web3Signer capabilities for Prysm [ Tracking ] - Web3Signer capabilities for Prysm Nov 28, 2022
@james-prysm james-prysm changed the title [ Tracking ] - Web3Signer capabilities for Prysm [Tracking] - Web3Signer capabilities for Prysm Nov 28, 2022
@james-prysm james-prysm added the Tracking Gotta Catch 'Em All label Nov 28, 2022
@james-prysm
Copy link
Contributor Author

add changes regarding Consensys/web3signer#726 for Deneb hard fork
-ethereum/beacon-APIs#302 related pr

@bert2002
Copy link

bert2002 commented May 4, 2023

Anyone planning to work on TLS support for web3signer ? 😄

@james-prysm
Copy link
Contributor Author

Anyone planning to work on TLS support for web3signer ? 😄

@bert2002 i have a PR up but team is leaning towards just requiring a reverse proxy from the user side instead of implementing it as flags.

@bert2002
Copy link

Anyone planning to work on TLS support for web3signer ? 😄

@bert2002 i have a PR up but team is leaning towards just requiring a reverse proxy from the user side instead of implementing it as flags.

Mhmm I see the point, but it requires to run and maintain one more piece of software. Maybe even slow down the connection.

@james-prysm
Copy link
Contributor Author

support deneb ethereum/remote-signing-api#2

@james-prysm james-prysm mentioned this issue Aug 21, 2023
2 tasks
@james-prysm
Copy link
Contributor Author

blob signing removed from web3signer in #13169

@james-prysm james-prysm linked a pull request Mar 1, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment