Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dappnode/dappnodepackage-web3signer
https://github.com/dappnode/dappnodepackage-web3signer
Last synced: 9 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/dappnode/dappnodepackage-web3signer
- Owner: dappnode
- License: apache-2.0
- Created: 2022-07-13T12:31:50.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-11-27T18:07:00.000Z (26 days ago)
- Last Synced: 2024-11-27T18:34:08.745Z (26 days ago)
- Language: Shell
- Size: 185 KB
- Stars: 3
- Watchers: 1
- Forks: 4
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Dappnode Package _Web3Signer_
![](node-avatar.png)
A validator client contributes to the Consensus Layer of the Ethereum blockchain by signing proposals and attestations of blocks, using a BLS private key which must be available to this client at all times.
The BLS remote signer API is designed to be consumed by validator clients, looking for a more secure avenue to store their BLS12-381 private key(s), enabling them to run in more permissive and scalable environments.
More information about the EIP can be found at [the official website](https://eips.ethereum.org/EIPS/eip-3030)
### Why use the _Web3Signer_ ?
Client diversity is a key goal in Dappnode, you will be able to use different clients and do not deposit all the trust on just one of them. It can also work as a load balancer, keeping your validators always validating, and also helps protect your keys and slashing database by storing your signing keys in just this remote signer, so that when switching client's locally you dont need to transfer Slashing Protection DBs, or your keystores between the 5 Consensus Layer Clients. The Web3Sginer is the most battle tested remote signer out there, which is geared towards institutional usage which demands the most rigorous security and audits.
### Requirements
Rquirements to run the Dappnode Package for the Web3Signer
- **A Validator**: Generate a validator(s) _offline_ using [Wagyu](https://github.com/stake-house/wagyu-key-gen/releases) (Easiest way to generate keystores for validators all GUI Program no command line needed), or the [Official Staking Deposit CLI](https://github.com/ethereum/staking-deposit-cli/releases), (needs basic CLI knowledge) Then fund your validator at with the [Official Staking Launchpad](https://launchpad.ethereum.org/en/)
- **Ethereum Execution Client**: you should have installed and synced an Execution Layer Client (i.e. Besu, Erigon, Geth, or Nethermind).
- **Ethereum Consensus Client**: you should have installed and synced a Consensus Layer Client (i.e. Lighthouse, Lodestar, Nimbus, Prysm, or Teku).### Manteinance
| Updated | Champion/s |
| :----------------: | :------------: |
| :heavy_check_mark: | @pablomendez95 |### Development
Build a development binary of the Web3Signer. Also uses the latest postgresql scripts defined at https://github.com/ConsenSys/web3signer/tree/master/slashing-protection/src/main/resources/migrations/postgresql
```
npx @dappnode/dappnodesdk build --compose_file_name=docker-compose.dev.yml
```