Inspiration
RediYeti is inspired by wanting to strengthen the Avalanche validator network by encouraging the widest distribution of nodes. Kit Sturgeon had the inspiration for RediYeti as he thought of how to encourage AVAX hodlers to delegate their AVAX to his own validator node. He knew that his node enhanced Avalanche's distributed nature since it was running on a computer in his house--not in the cloud--yet because of this, he was unable to hit the same uptime numbers as cloud-based (and therefore more centralized) nodes.
What it does
RediYeti enables Avalanche validator node operators to guarantee to those who delegate AVAX to their node that they will receive their staking reward no matter what.
This strengthens the Avalanche network by encouraging delegation to more distributed but perhaps less reliable nodes that do not reside on centralized cloud-based virtual servers. With the RediYeti guarantee, now a node with 90% uptime looks just as good to a potential delegator as one with 99.9% uptime.
How we are building it
RediYeti is under development. We have taken the Chainlink hackathon as an opportunity to kick off the project. We needed to build a Chainlink adapter because Avalanche does not yet provide the needed capability to query the P-chain from the C-chain, but with a Chainlink adapter for avalanchego, this would be possible. So we built one!
We also needed a webapp, a series of solidity smart contracts, and some code to automatically engage the smart contracts as new delegators join the network. You can see how these work together in our design document. We chose to build the webapp using Vue and Vuetify since Avalanche uses these tools. Similarly, we are writing the delegator-watcher module in Golang since it will run on the same computer as avalanchego.
Since this is a commercial product, we have worked to create strong branding with a mascot that that links our company name, red·dev, with the snow theme of Avalanche. The central idea is that the Redi Yeti will keep your AVAX safe, and that is why it is holding an AVAX coin.
Challenges we ran into
The biggest challenge when working with brand new systems is that documentation can be thin--both for Avalanche and Chainlink. Both teams have made noble efforts to document how their systems work. However we recommend to both organizations that you double down on these efforts, as providing excellent documentation for developers is key to building a community, and you cannot yet depend on a deep pile of StackOverflow articles to help us along. That said, the videos presented during the Hackathon were excellent help, especially the one on dapp development in Avalanche.
Accomplishments that we're proud of
We're super-proud to have learned how to work with both platforms as we think both are the future. We're also proud of our growing brand identity and of fitting these disperate pieces together into one cohesive product that will help make Avalanche even stronger.
What we learned
OK this is one of the things that if you know, you know, and it won't seem that spectacular. But as new Avalanche developers, we were faced with the daunting problem of needing to find out the associated addresses of someone else's wallet since a delegator has a known P-chain address, but all of our dapp code is on the C-chain which can't talk to the P-chain. How then could we assure that payouts go to the right person?
After much ripping-of-hair figuring out how to use avalanche.js to find historical atomic swaps between chains, etc. we finally figured out that if you know someone's P-chain address, you also know a valid X-chain address for that same user just by swapping out the "P-" for an "X-"! Then we can ask the wallet owner to sign a message containing their C-chain address with that X-chain address that we know they own, proving that they own the C-chain address as well. Then we can safely send their payout to that C-chain address, right into their wallet.
This is but one example of many lessons for us that one can only learn by doing.
What's next for rediyeti-avax-delegation-guarantor
We have about six more weeks of development and testing, and then we will go live. Hopefully by then the Avalanche-Chainlink connector will be up, and then we can be one of its earliest adopters.
Log in or sign up for Devpost to join the conversation.