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:
Download Docker using:
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.
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
Ensure your environment variables are set in the
.env
file.Launch the RedStone oracle node with this command:
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:
Send your Ethereum address and public key to the RedStone team.
Your address and public key will be added to the data providers registry.
Top up your Ethereum wallet on Polygon with a small amount of MATIC tokens required for stream creation after the first node execution.
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