Stader - ETHx
  • Introduction
    • Explore ETHx
    • ETHx Tech blogs
    • ETHx Governance
  • Launch Incentives
    • ETHx Stakers
    • ETHx Node Operators
      • ETHx Boosted Commission
      • 13000 $SD top-up pool
      • $65000 Reward pool for AVADO user
  • ETHx Staking
    • Guides
    • FAQs
  • Node Operator
    • Staking on Ethereum
      • What is Ethereum staking?
      • ETH staking rewards and penalties
      • Solo-staking vs ETHx
    • Permissionless node operator
      • Responsibilities of a node operator
      • Pre-requisite
      • Node registration and adding validators
        • Step 1: Hardware and platform
          • DIY kit
          • Cloud services
          • VPS services
          • AVADO
          • Allnodes
        • Step 2: Download Stader node
        • Step 3: Install Stader node
        • Step 4: Configure Stader services
          • Step 4.1 Network selection
          • Step 4.2 ETH client configuration
          • Step 4.3 ETH1 - Execution client selection
          • Step 4.4 ETH2 - Consensus client selection
          • Step 4.5 Add a graffiti
          • Step 4.6 Add checkpoint URL
          • Step 4.7 Enable Doppelganger protection
          • Step 4.8 Add fallback clients
          • Step 4.9 Enable monitoring
          • Step 4.10 MEV Boost
          • Confirmation and configuration settings
        • Step 5: Execution and Consensus client sync
        • Step 6: Wallet setup
        • Step 7: Register your node on the Stader network
        • Step 8: Deposit SD collateral
        • Step 9: Deposit ETH bond
        • Validator States
      • ETHx rewards for permissionless node operators
        • Socializing Pool
        • SD rewards
        • Claim CL rewards
        • Claim EL and SD rewards
      • Node Monitoring
      • Node Migration
      • Validator exits and node termination
      • Latest update
      • CLI Command sheet
    • Permissioned node operator
      • Pre-requisite for permissioned node operators
      • Web3Signer setup guide
      • Node registration and adding validators
        • Step 1: Download Stader node
        • Step 2: Install Stader node
        • Step 3: Configure and start Stader services
        • Step 4: Wallet setup
        • Step 5: Set the fee recipient of your validator client to Stader socializing pool
        • Step 6: Check Docker and node status
        • Step 7: Operator address whitelisting
        • Step 8: Register you node on the Stader network
        • Step 9: Add validators to your node
        • Step 10: Check your node and validator status
      • ETHx rewards for permissioned node operators
        • Claim CL rewards
        • Claim EL rewards
      • Node Migration
      • Latest update
    • FAQs
  • Smart Contracts
  • Oracles
  • ETHx Security
    • Immunefi Bug Bounty
    • Audit Reports
    • Public Repositories
  • ETHx Integration
  • Connect with us
Powered by GitBook
On this page
  • What is Web3Signer?
  • To set up Web3Signer, follow these steps:
  • Step 1: Setting up the binary
  • Step 2: Enable signing mode
  • Step 3: Setup slashing protection
  • Step 4: Setting up the Keys
  • Step 5: Host Whitelisting
  • Step 6: Connecting To Validator Clients
  • Need further help?
  1. Node Operator
  2. Permissioned node operator

Web3Signer setup guide

PreviousPre-requisite for permissioned node operatorsNextNode registration and adding validators

Last updated 1 year ago

What is Web3Signer?

Web3Signer is an open-source signing service developed under the and written in Java. Web3Signer is capable of signing on multiple platforms using stored in an external vault, or encrypted on a disk.

It is an innovative tool designed to enhance security and simplify the process of signing transactions in web3 applications. With Web3Signer, developers can seamlessly integrate external wallets or vaults into their decentralized applications, ensuring robust protection for private keys and providing users with a seamless and secure transaction signing experience.

This tool streamlines the signing process and offers enhanced security measures, making it a valuable asset for developers and users in the Web3 ecosystem.

To set up Web3Signer, follow these steps:

Step 1: Setting up the binary

Web3Signer offers two setup options: Docker mode or running it natively with a binary.

  • For Docker mode, refer to the following documentation:

  • To set it up in native mode, follow the instructions provided in this documentation:

Step 2: Enable signing mode

  • The signing mode of your Web3signer should be consensus layer client mode. To enable this signing mode simply add "eth2" after the web3signer command. For example: web3signer <commands> eth2 <sub commands>

  • To explore the available commands that can be used with web3signer in eth2 mode, you can run web3signer eth2 --help. This will provide you with a list of possible commands and their usage.

Step 3: Setup slashing protection

When integrating Web3Signer with your validator client, it is highly recommended to set up slashing protection. Slashing protection ensures that validators do not sign duplicate attestations or blocks, preventing potential double signing issues.

Step 4: Setting up the Keys

Step 5: Host Whitelisting

To restrict access to the web3signer instance you have set up, you can create a whitelist of permitted hosts. This ensures that only specified hosts can make use of the web3signer's REST API.

Step 6: Connecting To Validator Clients

After setting up your web3signer, it is highly advisable to establish a connection between web3signer and your running validator client. This connection is crucial to prevent duplicate keys. Typically, you would have one key imported with the validator client and a duplicate copy stored on platforms like AWS KMS or Hashicorp Vault. This is an inconvenient situation which can potentially cause double slashing.

To seamlessly connect web3signer with your validator clients, please refer to the provided documentation for detailed instructions and guidelines. Following these instructions will ensure a smooth and secure integration between web3signer and your validator clients.

Need further help?

To enable slashing protection with Web3Signer, the node operator needs to maintain a database that can be shared among multiple instances of Web3Signer. This enables efficient slashing protection across the network.

For a detailed understanding of slashing protection, please refer to the following documentation:

Find the relevant commands for setting up slashing protection in the following documentation:

To determine the storage location for your keys in Web3Signer, you need to create a configuration file that specifies the desired storage location. This configuration file can then be passed to Web3Signer using the following flag:

For detailed instructions on how to curate the configuration file and to learn about the supported platforms for Web3Signer, please refer to this documentation:

To set up the host whitelist, you can utilize the allowlist command. This command enables you to specify the hosts that are allowed to access the REST API. For more detailed information on using this command, please refer to the following documentation:

For lighthouse -

For Nimbus -

For Prysm -

For Teku -

For a comprehensive tutorial on setting up web3signer and establishing a connection with your validator client, we recommend following this resource:

Apache 2.0 license
private keys
Learn more
https://docs.web3signer.consensys.net/HowTo/Get-Started/Use-Docker
https://docs.web3signer.consensys.net/HowTo/Get-Started/Start-Web3Signer
PostgreSQL
https://docs.web3signer.consensys.net/Concepts/Slashing-Protection
https://docs.web3signer.consensys.net/Reference/CLI/CLI-Subcommands#slashing-protection-db-url
https://docs.web3signer.consensys.net/Reference/CLI/CLI-Syntax#key-store-path
https://docs.web3signer.consensys.net/Reference/Key-Configuration-Files
https://docs.web3signer.consensys.net/Reference/CLI/CLI-Syntax#http-host-allowlist
https://lighthouse-book.sigmaprime.io/validator-web3signer.html
https://nimbus.guide/keymanager-api.html
https://docs.prylabs.network/docs/wallet/web3signer
https://docs.teku.consensys.net/how-to/use-external-signer/use-web3signer
https://docs.web3signer.consensys.net/Tutorials/Launchpad-Keystores