This task verifies the knowledge of the skills required to develop the web2 backend that retrieves, transforms, and stores the blockchain data. The main purpose of such a task in production is to provide the aggregated data for the customer UI - charts, historical values, multichain data, and more.
The developer should be able to implement the following
- Retrieve data from Compound v2 smart contract using the graph
- Listen for new events from the mentioned smart contract
- Transform and store retrieved data in the local database
- Build an API of your choice (preferably REST) to retrieve the data from the database
- The aim is to create the data source for supply chart similar to https://compound.finance/markets/ETH (including only total supply)
- Recommended: Use our repo as a starting point
High-level requirements
- Explore how https://app.compound.finance/ providing and withdrawing supply works using the Kovan network
- Listen for new events using provided Infura RPC URL
- Retrieve smart contract events using The Graph of Compound v2
- Transform retrieved data to create daily total supply in underlying token using the data from the mentioned The Graph endpoint
- Store data into local DynamoDB
- Create an API endpoint that retrieves the data from DynamoDB
- Focus on one of the supply markets of your choice (for example ETH)
Low-level requirements
First of all, choose a supply market/contract that you would like to interact with.
🔘⚪⚪ Explore