RedStone is an oracle that provides frequently updated, reliable, and diverse data feeds for dApps and smart contracts across multiple Layer 1 and Layer 2 networks. To address the needs of the current DeFi ecosystem, we adopted a modular design that offers flexibility and meets various client requirements. For more details on how RedStone operates, please refer to our documentation.
This task focuses on one of the most critical components of our architecture: the RedStone Oracle Nodes. The nodes are responsible for fetching data from external sources, validating its accuracy, and aggregating. After determining the correct value, it is signed and broadcasted to our Distribution Data Layer. Additional information about RedStone Oracle Nodes can be found in the README.
Task
We would like to implement a new fetcher which will be able to continuously download data from Binance API using WebSocket protocol.
STEP 1
Get familiar with RedStone Oracle Node architecture and implement the necessary changes which are required to support WebSocket fetchers. Take into account the whole node process with steps like validation, data aggregation, signing and broadcasting. The node should be able to work with the previous HTTP API and new WebSocket fetcher simultaneously.
Instruction on how to run RedStone Oracle Node locally:
Check the tmp.out file, it should contain the node logs
STEP 2
Implement Binance WebSocket API fetcher which is compatible with changes from STEP 1 and previously implemented fetchers.
STEP 3
Prepare instruction and test scenario which present how the new fetcher works. Tokens from the primary manifest can be used for testing, please define a subset which could work with the Binance WebSocket API fetcher.
RedStone is an oracle that provides frequently updated, reliable, and diverse data feeds for dApps and smart contracts across multiple Layer 1 and Layer 2 networks. To address the needs of the current DeFi ecosystem, we adopted a modular design that offers flexibility and meets various client requirements. For more details on how RedStone operates, please refer to our documentation.
This task focuses on one of the most critical components of our architecture: the RedStone Oracle Nodes. The nodes are responsible for fetching data from external sources, validating its accuracy, and aggregating. After determining the correct value, it is signed and broadcasted to our Distribution Data Layer. Additional information about RedStone Oracle Nodes can be found in the README.
Task
We would like to implement a new fetcher which will be able to continuously download data from Binance API using WebSocket protocol.
STEP 1
Get familiar with RedStone Oracle Node architecture and implement the necessary changes which are required to support WebSocket fetchers. Take into account the whole node process with steps like validation, data aggregation, signing and broadcasting. The node should be able to work with the previous HTTP API and new WebSocket fetcher simultaneously.
Instruction on how to run RedStone Oracle Node locally:
yarn install
commandcd packages/oracle-node
commandyarn build
.env
file with:yarn start:dev
tmp.out
file, it should contain the node logsSTEP 2
Implement Binance WebSocket API fetcher which is compatible with changes from STEP 1 and previously implemented fetchers.
STEP 3
Prepare instruction and test scenario which present how the new fetcher works. Tokens from the primary manifest can be used for testing, please define a subset which could work with the Binance WebSocket API fetcher.
Key details