🛠️Manual Installation

Manually download all the elements needed to run a node for advanced Node Operators.

Before you Begin

If you’ve chosen to use nodectl to create your node, excellent choice! You should skip this section of the instructions.

Users leveraging nodectl do not need to perform any of the steps outlined here, as nodectl handles all of them dynamically and automatically.

Manual Installation

2

Verify Specifications

Please ensure your VPS meets the required specifications to run on Constellation's Hypergraph or metagraph networks.

Proper sizing is essential for performance, stability, and successful participation in consensus.

3

Install dependencies

sudo apt -y update && sudo apt -y upgrade
sudo apt -y install haveged
sudo apt -y install default-jdk
4

Download Tessellation Binaries

Please replace the download version with the latest available version, as version numbers may have changed between the time this document was written and when you are accessing it.

  • cl-dag-l1.jar - Layer1 Data or Currency jar

  • cl-node.jar - Global Layer0 Node jar

  • cl-keytool.jar - Key tool utility specific to Constellation Network's Tessellation

  • cl-wallet.jar - Wallet tool utility specific to Constellation Network's Tessellation

sudo wget https://github.com/Constellation-Labs/tessellation/releases/download/v1.0.1/cl-node.jar -P /var/tessellation; sudo chmod +x /var/tessellation/cl-node.jar
sudo wget https://github.com/Constellation-Labs/tessellation/releases/download/v1.0.1/cl-dag-l1.jar -P /var/tessellation; sudo chmod +x /var/tessellation/cl-dag-l1.jar
sudo wget https://github.com/Constellation-Labs/tessellation/releases/download/v1.0.1/cl-wallet.jar -P /var/tessellation; sudo chmod +x /var/tessellation/cl-wallet.jar
sudo wget https://github.com/Constellation-Labs/tessellation/releases/download/v1.0.1/cl-keytool.jar -P /var/tessellation; sudo chmod +x /var/tessellation/cl-keytool.jar
5

Download the latest seed list file

This is an access list containing public keys (referred to as node's nodeid).

sudo wget https://github.com/Constellation-Labs/tessellation/releases/download/v1.0.1/mainnet-seedlist -P /var/tessellation; sudo chmod +x /var/tessellation/cl-wallet.jar -O /var/tessellation/seed-list -o /dev/null
6

Firewall Considerations

Please choose a TCP port for your node’s public ingress/egress traffic, as well as a separate TCP port for peer-to-peer communications.

Ensure that both selected ports are open and accessible on your firewall or VPS provider to allow proper protocol communication.

7

Export environmental variables

The values shown below are examples only. Do not use them as-is. Refer to the Environment Variable Chart for explanations of each variable.

export CL_EXTERNAL_IP=113.113.113.113
export CL_KEYALIAS="myConstellationAlias"
export CL_KEYSTORE="/home/nodeadmin/tessellation/myconstellation.p12"
export CL_APP_ENV="testnet"
export CL_PUBLIC_HTTP_PORT=9000
export CL_P2P_HTTP_PORT=9001
export CL_PASSWORD="my_p12_keystore_pass"
8

Create your P12 keystore file

The values shown below are examples only. Do not use them as-is.

java -jar /var/tessellation/cl-keytool.jar generate
9

Update P12 keystore permissions

The values shown below are examples only. Do not use them as-is.

chmod 600 ~/tessellation/myconstellation.p12
10

Start your Layer0 Process

The values shown below are examples only. Do not use them as-is.

/usr/bin/java -jar '-Xms1024M' '-Xmx7G' '-Xss256K' /var/tessellation/cl-node.jar run-validator --seedlist /var/tessellation/seed-list & 
11

Start your Layer1 Process

The values shown below are examples only. Do not use them as-is.

/usr/bin/java -jar '-Xms1024M' '-Xmx3G' '-Xss256K' /var/tessellation/cl-dag-l1.jar run-validator --public-port 9010 --p2p-port 9011 --cli-port 9012 &

Environment variables chart

Variable
Value
Instructions

CL_EXTERNAL

<public_facing_ipv4>

Our node's remote IP address

CL_KEYSTORE

<name_of_keystore>

This will be placed at the end of the path CL_KEYSTORE line in the file.

CL_PASSWORD

<p12_keystore_passphrase>

The password/passphrase you will use for your p12 keystore.

CL_KEYALIAS

<your_keystore_alias>

Do not use this example, come up with your own.

CL_L0_PEER_HTTP_HOST

<layer0_peer_ipv4>

This is recommended to be your node's external IP address. Your node will be participating on both Layer0 and Layer1. The Layer1 should link through your Layer0 connection. Your node will be the most reliable node to be UP at the time your attempt to join the Hypergraph.

CL_L0_PEER_ID

<layer0_peer_nodeidr>

he node ID of the node you will be linking with on Layer0.

CL_L0_PEER_HTTP_PORT

<public_port>

The public port of the node you are linking to through Layer0.

Cluster Removal

Leave Cluster

To leave the cluster after a process has been started and joined.

curl -X POST http://127.0.0.1:<private_cli_port>/cluster/leave

Stop jar processes

Find the process(es) associated with your node

ps -ef

Kill the process(es)

kill <process_no>

Last updated

Was this helpful?