SafeStake Overview
  • SafeStake: A trust-minimized middle layer for secure, decentralized ETH staking
  • Security Policy
  • docs
    • Table of contents
    • SafeStake: Ecosystem
    • Attribution Notice
    • SafeStake: Running a Boot Node
    • SafeStake: Running an Operator Node
    • Distributed Key Generation
    • SafeStake: Tech Stack
    • SafeStake: Tokenomics (ongoing)
Powered by GitBook
On this page
  1. docs

SafeStake: Running a Boot Node

PreviousAttribution NoticeNextSafeStake: Running an Operator Node

Last updated 7 months ago

Updates happen frequently! Our always has the latest operator node resources and setup instructions.

NOTE: This tutorial is meant for SafeStake admininistrator. You DON'T need to read this if you are a user who wants to setup an operator node. Instead, you should read the .

Boot Node Service

The duty agreement among operators uses Hotstuff consensus and runs on a p2p network. This requires operators to know each other's IP addresses. For this purpose, SafeStake runs and maintains a root node that operators can consult and use to join the p2p network.

Dependencies

Server

  • Public Static Network IP

  • Hardware(Recommend)

    • CPU: 2

    • Memory: 2G

    • Disk: 30GB

  • OS

    • Unix

  • Software

    • Docker

    • Docker Compose

Set firewall rule

Port range
Protocol
Source

9005

TCP & UDP

0.0.0.0/0

Installation

Clone this repository:

sudo mkdir -p /data/boot
git clone --recurse-submodules https://github.com/ParaState/SafeStakeOperator dvf
cd dvf
mv .env.example .env

Install Docker and Docker Compose

Start Service

Run the following to start the root node service:

sudo docker compose -f docker-compose-boot.yml up -d

Get root node enr

docker compose -f docker-compose-boot.yml logs -f dvf_root_node | grep enr

output

dvf-dvf_root_node-1 | Base64 ENR: enr:-IS4QNa-kpJM1eWfueeEnY2iXlLAL0QY2gAWAhmsb4c8VmrSK9J7N5dfXS_DgSASCDrUTHMqMUlP4OXSYEVh-Z7zFHkBgmlkgnY0gmlwhAMBnbWJc2VjcDI1NmsxoQPKY0yuDUmstAHYpMa2_oxVtw0RW_QAdpzBQA8yWM0xOIN1ZHCCIy0

NOTE: SafeStake will maintain the ENR(s) of the boot node(s) on its website so that users registering as operators can utilize them to start operator nodes.

The boot node is now ready to be used.

Github
tutorial for operator node
install docker engine
install docker compose