Node Operators
User Manual for Node Operators
Introduction
Welcome to Supra! This manual will guide you through the process of setting up and operating a node on our blockchain network for our inaugural Public DevNet. Our system leverages Docker for ease of deployment and a Chrome extension wallet for managing your test tokens.
Prerequisites
Ensure you are a member of our Supra Discord Testnet Communication Channel
Ask the Supra team in Discord channel to grant read access to the Validator node image repository.
Install Docker Engine or Docker Desktop on your machine using the following https://docs.docker.com/engine/install/.
You might need to follow the post installation steps (https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user) too.
Install Google Cloud CLI (gcloud CLI) using this https://cloud.google.com/sdk/docs/install#linux.
Run the following commands to authorize gcloud and Docker to pull the image from the image repository:
gcloud auth login
gcloud auth configure-docker asia-docker.pkg.dev
Hardware Requirements:
Cores: 16 to 32
RAM: 64G
CPU: Intel(R) Xeon(R) Platinum CPU @ 2.8GHz speed or higher
Architecture: x86/64
Disk Type: SSD
Minimum Disk Size: 2TB
Network Bandwidth: 1Gbps
Clearing up residue:
If you are an existing node operator or have already created your keys, please run the following commands to clear up the old db files, old log files, and old docker images otherwise, you can directly move to step 1.
After running the above commands, you should be left with the following files:
smr_private_key.pem
smr_public_key.json
smr_settings.toml (in case you have run the network before)
Step 1: Download the Docker Image
Open your command-line interface (CLI) on any Terminal application.
Run the following command to download the latest Docker image:
NOTE: If you are not authorized to download the image, you may get the following error. Please ask the Supra team to grant read access to the image repository.
Step 2: Start the container and create and/or activate Keys
After downloading the Docker image, start the node and create your key pairs by running the following. Please be sure to follow the notes in this section in case you have already created your keys
Start the node
Create a new key pair.
NOTE: If you are an existing node operator or have already created your keys beforehand, skip this key generation command. Please be sure to recollect your node’s name and key’s password for the upcoming step.
Create a strong password then confirm the password to encrypt the secret key part.
The generated key-pair information(smr_private_key.pem and smr_public_key.json) will be located on your local machine under the [Local Full Path To store configs] path.
NOTE: Please create a backup of your private keys and secure them according to best practices.
Activate the keypair.
Note: If you are planning to use already generated and backed-up key-pair information, please make sure that smr_private_key.pem and smr_public_key.json files are located under the [Local Full Path To store configs] path.
NOTE: To know your old node’s name run the following command:
Example of a successful output:
Step 3: Add smr_settings.toml
Open any preferred editor:
Copy the following content to the file
update <YOUR_PUBLIC_IP> with respective public-ip information of your node
save it as smr_settings.toml
store it in your [Local Path to Store Configs], which will be mounted on SUPRA_HOME to the Docker container in Step 2.
Step 4: Setup DKGs configuration
Provide your smr_public_key.json to the Supra team. Note: smr_public_key.json will be located under the [Local Full Path To store configs] directory.
Supra team will distribute over Supra Testnet Communication Channel prepare_dkgs_defiinition.sh script, which should be used to dump the dkgs_definition.json file and also copy it into a specified docker container.
Save the script in the current working directory (although location doesn’t matter).
Install script prerequisites: shasum and jq.
Run the script to dump and copy the dkgs_definition.json into your container.
During the script's execution, you will be asked to specify the docker container name to which the dkgs_definition.json will be copied.
An example output for a successful run:
Step 5: Node Monitoring and logging configuration.
Prerequisites:
Ensure the respective node-operator's email is added to the Grafana Dashboard. If not, kindly request the Supra team to grant access by adding the email.
For Centos/Amazon Linux:
Download the script with the following command.
Change permission for the script file to be executable using the below command.
For Ubuntu/Debian Linux:
Change permission for the script file to be executable using the below command.
Change permission for the script file to be executable using the below command.
Run the script file with sudo privileges. While running the script you may be prompted to enter the log path. Please enter the whole log path as a value, which is `[Local Full Path To store configs]/supra.log`. An example output for a successful run:
This script will configure the Promtail agent to push logs to the newly created dashboard on https://monitoring.services.supra.com/ for the respective node operators.
Once it runs successfully, please provide url or folderUid received in the output as shown in the above example and inform the Supra team’s Operations member through the Supra Testnet Communication Channel, so that we can grant you the corresponding role in Grafana to visualize your logs dashboard and Node metrics. NOTE: Until now, you have successfully configured your node. Please proceed to below step to join the supra network.
Step 6: Start your node to join the supra network
Ensure you're a member of our Supra Testnet Communication Channel.
Watch for instructions on when to start your validator node.
When instructed, start your node using the command below in your terminal:
NOTE: If you receive any errors while starting the node, please share log files and history files with our team over the Supra Testnet Communication Channel. The files are located under the [Local Full Path To store configs]
Step 7: Install the Chrome Extension Wallet
Obtain the extension from a Supra team member.
Extract the extension package
Open Chrome->Settings->Extensions
Click “Load Unpacked" (top-left corner)
Select the folder where the extension has been unpacked
Step 8: Create a Wallet Address
Open the installed Chrome extension.
Follow the instructions to create a new wallet.
Write down and securely store the mnemonic phrase provided. This phrase is essential for recovering your wallet down the road.
Step 9: Collect Test Tokens from the DevNet Faucet
Wallet Interface:
Select SUPRA-DEVNET network from the list of the networks in the wallet.
Click on the Get Faucet button to collect tokens.
Swagger Interface:
Access our Faucet API documentation via the following link: https://rpc-devnet.supraoracles.com/docs/#/Wallet/faucet
Experiment with the API endpoint by inputting your wallet address and requesting tokens.
To keep track of your wallet balance, refer to the Balance API Documentation found here: https://rpc-devnet.supraoracles.com/docs/#/Accounts/balance.
Troubleshooting and Support
If you encounter any issues, please feel free to contact us on our Discord channel.
Conclusion
Thank you for participating as a node operator in the Supra ecosystem. We sincerely appreciate your contribution to the strength and security of our network.
Last updated