Let's try to know how to run a RedStone Node

Note: RedStone is not currently onboarding new Data Providers, but this guide will be helpful when onboarding resumes in the near future. Thank you for your interest!

Running an Oracle Node from Source

While you have the option to run the RedStone oracle node using its source code, it's recommended to utilize Docker for its ease and efficiency. The code is regularly built and deployed from the Github repository, eliminating the need for a full development environment.

Data Availability

Data published by your oracle node will be accessible to RedStone consumers across all supported chains. For more in-depth information on RedStone Oracles' architecture, refer to our dedicated resource.

1. Running a Node Locally

Requirements

Before proceeding, ensure your system meets the necessary requirements as outlined on the requirements page.

Installation of Docker

You'll need Docker to run the oracle node in a container. Follow these steps to install Docker:

  1. Download Docker using:

    sqlCopy codecurl -fsSL https://get.docker.com -o get-docker.sh
    sudo sh get-docker.sh
    sudo usermod -aG docker $USER

Node Configuration

Configuration of the RedStone oracle node relies on environment variables. You can set these variables in your preferred manner, such as using a local .env file.

Quick Start Configuration

For an easy and rapid setup of your first oracle node, we've prepared a sample .env file and a bash script. Find them here.

Additional Environment Variables

Refer to the table below for the primary environment variables needed to run a node. To view a complete list of supported variables, including optional ones, consult this file.

Param
Description
Example value

ECDSA_PRIVATE_KEY

Your ECDSA private key

ECDSA_PRIVATE_KEY=0x123...

OVERRIDE_DIRECT_CACHE_SERVICE_URLS

Your personal private URLs of gateways to the RedStone Data Distribution Layer (DDL).

OVERRIDE_MANIFEST_USING_FILE

Path to your manifest file.

OVERRIDE_MANIFEST_USING_FILE=./manifests/dev/dev.json

LEVEL_DB_LOCATION

Path to the level DB.

LEVEL_DB_LOCATION=/oracle-node-level-db

Launching Using Docker

  1. Ensure your environment variables are set in the .env file.

  2. Launch the RedStone oracle node with this command:

    bashCopy codedocker run --env-file .env -d --restart=always -v redstone-oracle-node:/oracle-node-level-db --name redstone-oracle-node public.ecr.aws/y7v2w8b2/redstone-oracle-node:6c5e4bf

Docker Image Tags

Each Docker image comes with a tag (e.g., 6c5e4bf), a short commit hash from the RedStone monorepo. This tag helps identify the source code version.

Custom Local Manifest

To run the oracle-node from Docker with your custom manifest, mount the manifest file to the container and update the OVERRIDE_MANIFEST_USING_FILE environment variable.

2. Running a Production Node

For information about running a production node, reach out to the RedStone team.

Important Information

Currently, we manually validate and check external data providers to ensure they understand the requirements. In the future, smart-contracts may automate this process. To get started:

  1. Send your Ethereum address and public key to the RedStone team.

  2. Your address and public key will be added to the data providers registry.

  3. Top up your Ethereum wallet on Polygon with a small amount of MATIC tokens required for stream creation after the first node execution.

  4. Use trusted infrastructure for interacting with your private keys.

Deploy Your Node

After being added to the data providers registry and receiving private gateway URLs, you can deploy the oracle node using Docker on your preferred server or cloud provider. The deployment process will closely resemble the steps for running a local node.

Conclusion

By following this guide, you've gained the knowledge to set up and operate a RedStone oracle node using Docker. While RedStone is not currently onboarding new Data Providers, this guide will be invaluable when onboarding resumes. Your contributions will enhance data availability across the RedStone ecosystem. Keep an eye on future developments and best practices to further optimize your oracle node's performance.

Last updated