mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2025-01-07 02:02:18 +00:00
b38e4ddc3e
* initial commit * fixing bazel * removing extra space * adding blindedbeaconblock * adding unit tests * fixing bazel build * switching to switch statement * fixing function parameters * fixing ineffectual err error * deleting unused files * updating web3signer version to support bellatrix * adding metrics * testing longer run * changing log level to help find errors * changing logging back to all to better understand the issue * testing better way to get public keys for web3signer on validator * fixing bazel * rolling back changes * missed rolling back 1 thing * adding flag back in * adding comments back in * testing lower participation * adding logs to see web3signer keys for comparison * fix bazel * adding more logs temporariliy * switching hex utility function * web3signer doesn't support deposits, so changing this * rolling back unintended unit test * rolling back some changes for debugging * Update validator/keymanager/remote-web3signer/v1/web3signer_types.go Co-authored-by: Radosław Kapka <rkapka@wp.pl> * Update testing/endtoend/components/web3remotesigner.go Co-authored-by: Radosław Kapka <rkapka@wp.pl> * Update testing/endtoend/endtoend_test.go Co-authored-by: Radosław Kapka <rkapka@wp.pl> * Update testing/endtoend/endtoend_test.go Co-authored-by: Radosław Kapka <rkapka@wp.pl> * fixing merge conflict * Update validator/keymanager/remote-web3signer/v1/requests.go * Update testing/endtoend/endtoend_test.go Co-authored-by: Raul Jordan <raul@prysmaticlabs.com> * Update validator/keymanager/remote-web3signer/v1/requests.go Co-authored-by: terencechain <terence@prysmaticlabs.com> * prysm doesn't currently support deposits for web3signer * reverting back to old implementation Co-authored-by: Radosław Kapka <rkapka@wp.pl> Co-authored-by: Raul Jordan <raul@prysmaticlabs.com> Co-authored-by: terencechain <terence@prysmaticlabs.com> |
||
---|---|---|
.. | ||
internal | ||
v1 | ||
BUILD.bazel | ||
keymanager_test.go | ||
keymanager.go | ||
metrics.go | ||
README.md |
Web3Signer
Web3Signer is a popular remote signer tool by Consensys to allow users to store validation keys outside the validation
client and signed without the vc knowing the private keys. Web3Signer Specs are found by
searching Consensys' Web3Signer API specification
issue: https://github.com/prysmaticlabs/prysm/issues/9994
Support
WIP
Features
CLI
WIP
API
- Get Public keys: returns all public keys currently stored with web3signer excluding newly added keys if reload keys was not run.
- Sign: Signs a message with a given public key. There are several types of messages that can be signed ( web3signer
type to prysm type):
- BLOCK <- *validatorpb.SignRequest_Block
- ATTESTATION <- *validatorpb.SignRequest_AttestationData
- AGGREGATE_AND_PROOF <- *validatorpb.SignRequest_AggregateAttestationAndProof
- AGGREGATION_SLOT <- *validatorpb.SignRequest_Slot
- BLOCK_V2 <- *validatorpb.SignRequest_BlockV2
- BLOCK_V3 <- *validatorpb.SignRequest_BlockV3
- DEPOSIT <- not supported
- RANDAO_REVEAL <- *validatorpb.SignRequest_Epoch
- VOLUNTARY_EXIT <- *validatorpb.SignRequest_Exit
- SYNC_COMMITTEE_MESSAGE <- *validatorpb.SignRequest_SyncMessageBlockRoot
- SYNC_COMMITTEE_SELECTION_PROOF <- *validatorpb.SignRequest_SyncAggregatorSelectionData
- SYNC_COMMITTEE_CONTRIBUTION_AND_PROOF <- *validatorpb.SignRequest_ContributionAndProof
- Reload Keys: reloads all public keys from the web3signer.
- Get Server Status: returns OK if the web3signer is ok.
Files Added and Files Changed
-
Files Added:
- validator/keymanager/remote-web3signer package
-
Files Modified:
- modified: cmd/validator/flags/flags.go
- modified: validator/accounts/accounts_backup.go
- modified: validator/accounts/accounts_list.go
- modified: validator/accounts/iface/wallet.go
- modified: validator/accounts/userprompt/prompt.go
- modified: validator/accounts/wallet/wallet.go
- modified: validator/accounts/wallet_create.go
- modified: validator/client/runner.go
- modified: validator/client/validator.go
- modified: validator/keymanager/remote-web3signer/keymanager.go
- modified: validator/keymanager/types.go