MilkyWay Docs
  • INTRODUCTION
    • Welcome to MilkyWay
    • Mission and Vision
    • MILK
      • Tokenomics
    • Whitepaper (PDF)
  • User Guides
    • For Liquid Stakers
      • Quick Start
      • For Celestia (milkTIA)
        • Technical Architecture
          • Liquid Staking Process
          • Withdrawal Process
          • Exchange Rate
          • Compound Staking Rewards
          • Claim Process
          • Limits and Restrictions
        • Integrating with milkTIA
          • Contract Specifications
          • APIs specification
        • Using third party apps
          • Camelot
          • Demex
          • Dymension
          • Levana
          • Margined
          • Mars
          • Osmosis
          • UX
      • For Initia (milkINIT)
        • Technical Architecture
          • Liquid Staking Process
          • Withdrawal Process
          • Exchange Rate
          • Compound Staking Rewards
          • Claim Process
          • Limits and Restrictions
        • Integrating with milkINIT
          • Liquid staking module specifications
          • Chains specifications
      • For Bablyon (milkBABY)
        • Technical Architecture
          • Liquid Staking Process
          • Withdrawal Process
          • Exchange Rate
          • Compound Staking Rewards
          • Claim Process
          • Limits and Restrictions
        • User Flow
        • One-Click Stake
        • Integrating with milkBABY
          • Liquid staking module specifications
          • Chains specifications
    • For Restakers
      • Quick Start
      • For Restakers
        • Creating a wallet
        • Restaking your assets
    • Bridging
      • Hyperlane
      • IBC Eureka
  • Infrastructure Operators
    • For MilkyWay Validators
      • Quick Start
      • For Validators
        • Consesus node
        • Validator node
    • For Service Operators
      • Quick Start
      • For Operators
        • Operator Management
        • Opt-in and Opt-out Services
  • For Service Developers
    • Quick Start
    • For Services Admins
      • Service Management
      • Inviting Operators to Join Your Service
      • Creating Rewards Distribution Plan
  • Architecture
    • Modular Liquid Staking
      • Overview
      • Liquid Staking 101
    • Modular Restaking
      • Overview
        • Technical Architecture
        • Design Philosophy
        • Programmable Rules
        • Economic Model
        • Use Cases
      • Restaking 101
  • Modules
    • x/assets
    • x/ibc-hooks
    • x/liquidvesting
    • x/operators
    • x/pools
    • x/restaking
    • x/rewards
    • x/services
    • x/tokenfactory
  • SECURITY
    • Audits
    • Bug Bounty Program
  • APPENDIX
    • Official Links
    • Frequently Asked Questions
    • Glossary
    • Branding Resources
Powered by GitBook
On this page
  • Minimum hardware requirements
  • Setup a consensus node
  • Set up the environment
  • Build the milkywayd binary file
  • Set up the P2P network
  • Start the consensus node
  1. Infrastructure Operators
  2. For MilkyWay Validators
  3. For Validators

Consesus node

PreviousFor ValidatorsNextValidator node

Last updated 5 months ago

This section contains the information related to running a consensus node for our network. This page is NOT for operators. If you want to run an AVS operator, please refer to the "" section instead.

Minimum hardware requirements

The following minimum hardware requirements are reccommended for runninga consensus node:

  • Memory: 8 GB RAM

  • CPU: 4 cores

  • Disk: 1 TB SSD Storage

  • Bandwidth: 1 Gbps for Download/1 Gbps for Upload

Setup a consensus node

The following tuttorial is done ona an Ubuntu Linux 20.02 (LST) x64 instance machine.

Set up the environment

The first thing you have to do, is properly setup the environment of your machine. Here is a script that can help you with that:

# Update the existing dependencies
sudo apt update && sudo apt upgrade -y

# Install Golang
sudo snap install go --channel=1.23/stable --classic

# Install other useful dependencies
sudo apt install curl tar wget clang pkg-config libssl-dev jq build-essential git make -y

Build the milkywayd binary file

Now that you have all the dependencies needed, you are ready to build the milkywayd binary file:

# Clone the MilkyWay codebase repository
git clone https://github.com/milkyway-labs/milkyway

# Checkout the version of the MilkyWay binary file you want to build
# Replace tags/v2.0.0 with the version you prefer
cd milkyway
git checkout tags/v2.0.0

# Build the binary file
make build

# (Optional) Install the binary to have it accessible everywhere
make install

You can find the version to be run to join a specific network by visiting the Chains specifications page.

Set up the P2P network

To initialize your consensus node, you have to pick a node name that describes your node. Then, you can run the following command to initialize the configuration files:

milkywayd init "<Node name>" --chain-id ceers-2112

Make sure you verify the sha256sum after downloading the file, to ensure authenticity and integrity.

Start the consensus node

Finally, it's time to start your node. You can do by running:

milkywayd start

If you've configured everything properly, you should see your node trying to connect to other nodes and downloading the blocks.

Next, you have to download the genesis file. You can find the genesis files for each chain on our GitHub repository: . Once you have selected a genesis file you want to use, you have to place it inside the $HOME/.milkyway/data/genesis.json file.

Finally, you need to set the seeds inside the $HOME/.milkyway/config/config.toml file. You can find a list of seed node for each chain on GitHub: .

Operators
milkyway-labs/networks
milkyway-labs/networks