Constellation Network
IntroductionFundamentalsFor DevelopersNode Validators
  • Index
  • Introduction
  • Elements
    • Toolkit
    • Development Environment
    • Hydra CLI
    • Developer Dashboard
    • Telemetry Dashboard
    • Metagraph Monitoring Service
  • Metagraph Framework
    • Overview
    • Framework Architecture
    • Installation
    • Currency
      • Working with Tokens
    • Data
      • State Management
      • Lifecycle functions
    • Framework Endpoints
    • Custom Endpoints
  • Guides
    • Quick Start
    • Send a Transaction
    • Manual Setup
    • Customize Rewards Logic
    • Custom Data Validation
    • Working with p12 files
    • Snapshot Fees
    • Deploy a Metagraph
      • Security groups
      • Key pairs
      • Base instance
        • Generating base instance
        • Connect to the instance
        • Generating AMI (Image) from Base Instance
        • Launching instances from AMI
      • Start Metagraph Instances
        • Configuring P12 Files
        • Start Global L0 Instances
        • Start Metagraph L0 Instances
        • Start Currency L1 Instances
        • Start Data L1 Instances
  • Resources
    • Network APIs
    • Example Codebases
    • Metagraph Development Video Series
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

Was this helpful?

Export as PDF
  1. Guides
  2. Deploy a Metagraph
  3. Start Metagraph Instances

Start Data L1 Instances

PreviousStart Currency L1 InstancesNextNetwork APIs

Last updated 1 month ago

Was this helpful?

In this section, we will start each of our data L1 instances and join them to the metagraph L0 network.

Setup Data L1

SSH into one of your EC2 instances and move to the data-l1 directory.

ssh -i "MyKeypair.pem" ubuntu@your_instance_ip"
cd code/data-l1

Set environment variables

Export the following environment variables, changing the values to use your p12 file's real name, alias, and password.

export CL_KEYSTORE=":p12_file_used_on_seedlist_1.p12"
export CL_KEYALIAS=":p12_file_used_on_seedlist_1"
export CL_PASSWORD=":file_password_1"

Also export the following environment variables, filling in the following:

  • CL_GLOBAL_L0_PEER_ID: The public ID of your Global L0 node which can be obtained from the /node/info endpoint of your Global L0 instance (http://your_node_id:9000/node/info).

  • CL_L0_PEER_ID: The public ID of the metagraph l0 node which is the same as CL_GLOBAL_L0_PEER_ID above if you're using the same p12 files for all layers.

  • CL_GLOBAL_L0_PEER_HTTP_HOST: The public IP of this node (points to global-l0 layer).

  • CL_L0_PEER_HTTP_HOST: The public IP of this node (points to metagraph-l0 layer).

  • CL_L0_TOKEN_IDENTIFIER: The metagraph ID in your address.genesis file.

export CL_PUBLIC_HTTP_PORT=9300
export CL_P2P_HTTP_PORT=9301
export CL_CLI_HTTP_PORT=9302
export CL_GLOBAL_L0_PEER_HTTP_HOST=:ip_from_metagraph_l0_node_1_global_l0
export CL_GLOBAL_L0_PEER_HTTP_PORT=9000
export CL_GLOBAL_L0_PEER_ID=:id_from_metagraph_l0_node_1_global_l0
export CL_L0_PEER_HTTP_HOST=:ip_from_metagraph_l0_node_1_metagraph_l0
export CL_L0_PEER_HTTP_PORT=9100
export CL_L0_PEER_ID=:id_from_metagraph_l0_node_1_metagraph_l0
export CL_L0_TOKEN_IDENTIFIER=:**METAGRAPH_ID**
export CL_APP_ENV=integrationnet
export CL_COLLATERAL=0

note

Run this command only on the first of your instances. When you repeat these steps for the 2nd and 3rd instance, use the run-validator joining process below instead.

Run the following command, filling in the public ip address of your instance.

nohup java -jar data-l1.jar run-initial-validator --ip :instance_ip > metagprah-l1-logs.log 2>&1 &

Check if your data L1 node successfully started: http://:your_ip:9300/cluster/info

The 2nd and 3rd nodes should be started in validator mode and joined to the first node that was run in initial-validator mode. All other steps are the same.

nohup java -jar data-l1.jar run-validator --ip :ip > data-l1-logs.log 2>&1 &

Run the following command to join, filling in the id and ip of your first data L1 node.

curl -v -X POST http://localhost:9302/cluster/join -H "Content-type: application/json" -d '{ "id":":id_from_data_l1_1", "ip": ":ip_from_data_l1", "p2pPort": 9301 }'

Repeat the above steps for each of your 3 data L1 nodes before moving on to start your data L1 layer. Note that the startup commands differ between the three nodes. The first node should be started in initial-validator mode. The second and third nodes should be started in validator mode and joined to the first node.

If you followed all steps, your metagraph is now fully deployed.

You can check the status of each of the node layers using their IP address and layer port number.

  • Global L0: 9000

  • Metagraph L0: 9100

  • Currency L1: 9200

  • Data L1: 9300

  • /cluster/info: View nodes joined to the current layer's cluster

  • /node/info: View info about a specific node and its status

Start your data L1 node (initial)

Start your data L1 node (validator)

Repeat

Verify

Ports

Endpoints

​
​
​
​
​
​
​
​