Inspiration
I was working on a different project where I was imagining a DAO of DAOs or a city-state level DAO. Then I quickly realized some of the problems that a DAO at that scale will face in operations and started designing a solution around that.
What it does
It uses Chainlink Automation to dynamically update the onboarding and emission criteria depending on market conditions under the framework of rules defined in DAO voting.
How we built it
I had been tinkering around the implementation while working on a separate idea for weeks. But when Chainlink hackathon arose I found time over weekends and sometimes weekdays to grind and get it to a proof of concept stage. Lots of interesting learning on the way and in the end pretty proud of the outcome.
Challenges we ran into
Interesting challenges running into integrating Chainlink VRF right within the contract and generating IPFS tree links from paths created concatenating random values. Since IPFS links are immutable it is notoriously hard to achieve dynamic links.
Also hosting the entire website along with media on IPFS presented some performance issues which I worked hard to mitigate without giving up on the decentralization.
Goerli ETH is quite hard to obtain especially large amounts needed for contract deployment.
Accomplishments that we're proud of
There were several problems which I could have fixed by simply adding a centralized gateway server in the middle but I chose not to and am proud of the result :)
What we learned
When security and trust is important on-chain is better than off-chain. DAOs have unique challenges which can be partially addressed by combining multiple disparate solutions.
What's next for DaoSense
I would like to integrate the headless infrastructure (contracts only) with other DAOs which I know can leverage from this implementation. Going forward Daosense will keep learning about pain points of DAOs and finding solutions where possible.
Built With
- ipfs
- javascript
- node.js
- polygon
- quicknode
- solidity
Log in or sign up for Devpost to join the conversation.