Constellation Network
IntroductionFundamentalsFor DevelopersNode Validators
  • Index
  • Validator Node Guides
    • 💰Delegated Staking
      • What is delegated staking?​
      • For Node Operators
      • Understanding Delegated Staking
      • Prerequisites
      • Create Delegated Staking Configuration
      • First Time Configuration
      • Modify Existing Configuration
      • Add/Update Delegating Staking Parameters
      • Update Delegated Staking
      • Duplicate Update
      • Status Command
    • 🚧Build Your Node
      • Create Discord Account
      • 🗒️Node Operator Notes
      • ⚙️Node Specifications
      • 🚧Generic Build a VPS Guide
      • ☁️Cloud Provider Specific
        • 🚧Build AWS EC2 Instance
        • 🚧Build DigitalOcean Droplet
        • 🚧Build Hetzner Server
      • 🚉First Time Connection Guide
      • 💽The nodectl utility
      • Download nodectl
      • 🏗️Turn your VPS into a Node
        • 🚩Node Prerequisites
        • 🐇Quick Install Guide
        • 🎨Normal Install Guide
        • 🛠️Manual Installation
      • 🏆Authorize to Join Hypergraph or metagaph
    • 💰Collateralize Your Node
    • 1️⃣First Time Cluster Connection
    • 💫Enable Auto Restart
    • 📂Operational Guides
      • ♻️Restart Validator Node Guide
      • 🐎Upgrade Tessellation Quick Start
      • 🏭Upgrade Tessellation Guide
      • 🏗️Reinstallation Guide
      • ♻️Backup/Restore a P12 KeyStore
      • 🚋Migrate V1 to V2 - P12 Keystore
      • 🛫Upgrade nodectl Version
      • 🚨Alerting & Reporting Setup Guide
    • 🛠️Troubleshooting Guides
      • 🗝️Troubleshoot SSH Connection
      • 💽Troubleshoot nodectl upgrade
      • ⛰️Troubleshoot EdgePointDown Message
      • 🚨Troubleshoot Node Alerting
  • 👑MainNet
    • MainNet & IntegrationNet Quick Start Guide
    • 🚧Upgrade Tessellation to v3
    • 🦌Migrate an IntegrationNet Node to MainNet
  • 🥅IntegrationNet
    • 🧪IntegrationNet Quick Start Guide
  • Metagraphs
    • 🚪Dor metagraph
      • 🚪Dor Validator Onboard Guide
      • 🚪Understanding Rewards
      • 🚪Technical Procedures
        • 🚪Build Dor Validator Node
  • 📚References
    • 📚nodectl Command Reference
    • Firewall Settings Table
    • 🔐SSH Remote Access
      • 🔑Create SSH Keys
      • 📁Upload SSH Public Key
      • 🔐Securing SSH Access
      • ♻️How to SSH into VPS
    • 🍴Node Fork Types
    • 🗝️P12 Keystore
    • 🏐Tarball
    • 💻Virtual Private Server
  • GitHub nodectl utility
  • Lattice Dashboard
Powered by GitBook

Main

  • Website
  • Get DAG
  • Explore Projects
  • Partners

Socials

  • Telegram
  • Discord
  • X (Twitter)

Tools

  • Wallet
  • DAG Explorer
  • Coingecko

© 2025 CONSTELLATION NETWORK

On this page
  • Guide Usage
  • 🧰 Prerequisites
  • 🔐 SSH Into Your VPS
  • 📄 Verify Your Node Is on the Seed List

Was this helpful?

Export as PDF
  1. Validator Node Guides

First Time Cluster Connection

This guide walks you through connecting a Validator Node to a Constellation Network Hypergraph or metagraph cluster for the first time.

PreviousCollateralize Your NodeNextEnable Auto Restart

Last updated 1 month ago

Was this helpful?

Guide Usage

This guide assumes that you have properly created and connected to your VPS successfully and installed the nodectl utility.

🧰 Prerequisites

Before beginning, ensure you’ve reviewed the full checklist and profile documentation.

  • This guide uses dag-l0 as the profile name.

  • Replace dag-l0 with your node’s actual profile name if it differs.

    • For example dor-dl1 for Dor data layer1 validator nodes.


🔐 SSH Into Your VPS

Use the following command to connect to your VPS via SSH:

ssh -i /path/to/ssh/private/key root@<vps_ip_address>

📄 Verify Your Node Is on the Seed List

To confirm that your node is recognized by the network, run:

sudo nodectl check_seedlist -p dag-l0

Expected Output:

NODE ID FOUND ON SEED LIST
True

🛑 If you are not on the seed list, stop here and contact a Discord Administrator Team Lead via the Constellation Network Official Discord. You must wait for the next cluster restart that includes a seed list update before continuing.


⬆️ Perform a Node Upgrade

Use the upgrade command to prepare your node for the cluster connection:

sudo nodectl upgrade -ni

The -ni flag enables non-interactive mode, accepting default values automatically.


⚙️ For Single Layer1 Nodes

If you're operating a Layer1-only Metagraph Validator, you may skip directly to the Join Layer1 step at the bottom of this guide.


🧬 For Hybrid Nodes

Hybrid nodes must reach a Ready state on Layer0 before joining Layer1.

⚠️ Expected Behavior:

After your node completes Layer0 connection steps, it will attempt to join the Layer1 profile and fail. This is expected and not a concern at this stage.

This happens because Layer1 participation is blocked until your node fully syncs the Layer0 snapshot chain.

During this period, your node will transition through the following statuses:

  • SessionStarted

  • DownloadInProgress


📥 Monitor for DownloadInProgress State

After upgrading, verify your node has reached the correct syncing phase:

sudo nodectl status -p dag-l0

Expected Output:

JOIN STATE
DownloadInProgress

If you see SessionStarted, continue running the command periodically until it transitions to DownloadInProgress.


⏳ Wait for Ready State

Your node will now download the entire snapshot chain from the Layer0 cluster. This process may take several days.

You have two options:

  • Wait for your node to reach the Ready state.

  • Proceed to the optional next step to speed up the snapshot process using the Starchiver utility.


🚀 Optional: Execute Starchiver to Speed Up Sync

To accelerate snapshot syncing:

sudo nodectl execute_starchiver -p dag-l0 --restart

👀 Monitor your node closely to ensure the process completes without error.

🚧 Caution: Starchiver is a community-supported tool and not officially supported by Constellation Network. Use at your own risk. For issues, contact the tool's maintainer via GitHub or seek help on the Constellation Discord.


📊 Verify Node Status

Once your node has completed downloading the snapshot chain, it will enter the Ready state and begin participating in consensus.

To verify:

sudo nodectl status -p dag-l0

Look for the following:

Layer0
JOIN STATE       Ready
IN CONSENSUS     True

For Layer1:

Layer1
JOIN STATE       ReadyToJoin

🔄 To monitor the transition in real time:

sudo nodectl status -p dag-l0 -w 120

Use the q key to exit the watch command gracefully.


🔗 Join Layer1 (For Hybrid Nodes Only)

If Layer1 displays ReadyToJoin, you may initiate the join process:

sudo nodectl join -p dag-l1

If your node is in any other state, restart the profile before retrying:

sudo nodectl restart -p dag-l1

Once the above steps are complete and your node is fully synced and participating in consensus, your first-time connection process is complete.

1️⃣
⚠️
🚧Build Your Node
💽The nodectl utility
🔐SSH Remote Access