MilkyWay Docs
  • INTRODUCTION
    • Welcome to MilkyWay
    • Mission and Vision
    • MILK
      • Tokenomics
    • Whitepaper (PDF)
  • User Guides
    • For Liquid Stakers
      • Quick Start
      • Liquid Staking 101
      • Celestia (milkTIA)
        • Using third party apps
          • Camelot
          • Demex
          • Dymension
          • Levana
          • Margined
          • Mars
          • Osmosis
          • UX
      • Initia (milkINIT)
      • Babylon (milkBABY)
        • User Flow
        • One-Click Stake
    • For Restakers
      • Quick Start
      • Restaking 101
      • Creating a wallet
      • Restaking your assets
      • For Restakers
    • Bridging
      • Hyperlane
      • IBC Eureka
  • Infrastructure Operators
    • For MilkyWay Validators
      • Quick Start
      • For Validators
        • Consesus node
        • Validator node
  • Architecture
    • Modular Liquid Staking
      • Overview
      • 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
      • 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
        • Integrating with milkBABY
          • Liquid staking module specifications
          • Chains specifications
    • Modular Restaking
      • Overview
        • Technical Architecture
        • Design Philosophy
        • Programmable Rules
        • Economic Model
        • Use Cases
      • Modules
        • x/assets
        • x/ibc-hooks
        • x/liquidvesting
        • x/operators
        • x/pools
        • x/restaking
        • x/rewards
        • x/services
        • x/tokenfactory
      • 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
  • 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 13 days 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

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 milkyway
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.

You can find the version to be run to join a specific network on GitHub:

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/network
milkyway-labs/networks
milkyway-labs/networks