Start DKG Node

Configuration

All of the necessary configuration information can be provided via command line parameters, but a YAML config file is often the most convenient way, thus it's what this documentation page will be discussing.

A good way to manage all the necessary files is to store them in a single folder (in this case ssv-dkg-data), together with the operator.yaml configuration file.

If you chose to setup your SSV node with the SSV Stack repository, your should create ssv-dkg-data inside of the existing ssv-stack directory.

The final result should look like so:

ssv@localhost:~/# tree ssv-dkg-data
ssv-dkg-data
├── encrypted_private_key.json
├── operator.yaml
└── password

1 directories, 3 files

A typical operator.yaml configuration file would look like this:

operator.yaml
privKey: ./data/encrypted_private_key.json
privKeyPassword: ./data/password
operatorID: <YOUR_OPERATOR_ID>
port: 3030
logLevel: info
logFormat: json
logLevelFormat: capitalColor
logFilePath: ./data/debug.log
outputPath: ./data/output
ethEndpointURL: http://ethnode:8545 #HTTP Address of Execution Node
# serverTLSCertPath: ./data/ssl/tls.crt #Only enable if manually generated TLS certificate
# serverTLSKeyPath: ./data/ssl/tls.key #Only enable if manually generated TLS key

In the config file above, ./data/ represents the container's shared volume created by the docker itself with the -v or volumes option. You don't need to create data directory.

Start SSV-DKG Node

If you did set up SSV node with the SSV Stack repository, you can simply add DKG to your existing setup.

  1. Your ssv-dkg-data directory should be inside of the ssv-stack.

  2. Edit the docker-compose.yaml file that you already have.

  3. Add the following content at the end of your file, but before the networks: part

  ssv-dkg:  
    image: ssvlabs/ssv-dkg:latest
    pull_policy: always
    restart: "unless-stopped"
    container_name: ssv-dkg
    networks:
      - local-docker
    volumes:
      - ./ssv-dkg-data:/ssv-dkg/data
    ports:
      - 3030:3030/tcp
    command:
      ["start-operator", "--configPath", "./data/operator.yaml"]
      
# You should leave "networks: ..." below this
  1. Start your DKG with the command sudo docker compose up ssv-dkg

When you set up your firewall on your DKG node machine, make sure to expose the port you set in the configuration (and Docker container creation command, if running on Docker). The default is 3030.

Last updated

Was this helpful?