redstone-finance / redstone-oracles-monorepo

Other
93 stars 49 forks source link

Prepare Binance fetcher with WebSocket support #6

Open cehali opened 4 months ago

cehali commented 4 months ago

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:

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.

Key details

Oyase-shinobi commented 2 months ago

Hello @cehali did you finish this task? if not, I can handle it