Inspiration
We want to enable all of the complex logic that happens in Web2 trading to be available in Web3 trading. There are 2 things just starting in Web3 trading that are really exciting right now: 1) The emergence of synthetic assets that are pegged to the value of real world assets like AAPL stock, 2) Native Web3 trading arbitrage that takes advantage of things like multi-leg trades executing in the same block and flash loans.
We want to make data available on-chain for Web3 consumers as easily as possible, with no restraints.
What it does
There are 4 parts to our entry, 1) the dockerized oracle deploy, 2) the signal feed, 3) a simple web server making the data available via REST, 4) a jupyter notebook showcasing the steps to easily perform the steps. The signal feed uses an ETH node spun up by Shakudo to read on-chain data that is processed into a signal, gets saved into Weavechain that stores the data and gives it immutability and lineage properties, which then is pushed back on chain using Chainlink.
How we built it
We leveraged existing features from two platforms and used the Chainlink Hardhat starter kit, dockerizing various steps to make it as easy as possible for users to deploy any feed they want on-chain. We added a new API call to handle the use case we wanted implemented and did a lot of "behind the scenes" bash scripting to get the magic to happen. We made a lot of coffee and had many late night, cross-continent zoom sessions.
Challenges we ran into
We had some difficulty streamlining the process and make the many moving parts fit well together. It was also a challenge to configure defaults so users would have an easier time and not have to input so many settings, deal with cryptic EVM error messages, or pay high fees to test in production. It was a final challenge to put everything together in a simple-to-understand visual diagram so we could share it with the world.
Accomplishments that we're proud of
We used Shakudo’s ability to spin up nodes for analytics We were able to easily deploy a data feed to Chainlink Oracles with Weavechain
What we learned
We learned how to deliver on-chain analytics using Chainlink, the many features and knobs that Chainlink offers to fit various consumption patterns and some new error codes.
What's next for ‘Publishing complex chain analytics back on-chain’
We want to build a UI that will make things even easier, making oracle deployments accessible to anyone that has built interesting analytics that can be used on-chain by the community
Built With
- chainlink
- ethereum
- java
- javascript
- python
- shakudo
- solidity
- weavechain
Log in or sign up for Devpost to join the conversation.