mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2024-12-25 12:57:18 +00:00
f52a214cce
* initial commit * fixing some types and renaming file * initial map function commit and moving to a v1 folder * adding in remaining mapper functions and comments for types and initial commit on unit tests * adding readme * fixing unit tests and errors caught * fixed a few missed properties and names * updating error handling to be more descriptive * Update validator/keymanager/remote-web3signer/client_test.go Co-authored-by: Raul Jordan <raul@prysmaticlabs.com> * Update validator/keymanager/remote-web3signer/keymanager.go Co-authored-by: Raul Jordan <raul@prysmaticlabs.com> * Update validator/keymanager/remote-web3signer/v1/custom_mappers.go Co-authored-by: Raul Jordan <raul@prysmaticlabs.com> * Update validator/keymanager/remote-web3signer/v1/custom_mappers.go Co-authored-by: Raul Jordan <raul@prysmaticlabs.com> * fixing comments * fixing comments * adding more error checks * Update validator/keymanager/remote-web3signer/client.go * fmt and bazel build * fixing unit tests * lint needed Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
2.2 KiB
2.2 KiB
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