I have already built out and developed updog.vote, a DAO launcher, which is currently live on mainnet. The site allows anyone to launch a DAO contract
using any ASA as a governance token. Proposals have a fixed set of possible actions (e.g. receive algo, ASA(s), change vote threshold, change proposal
fees, call a foreign app with custom args, etc.). A big limitation to this “basic” DAO contract is that it only allows 1 proposal a time. My proposal
is to develop a more advanced DAO contract system allowing for virtually unlimited, simultaneous proposals with variable durations and execution times.
Development will first involve creation of a system of smart of contracts with a central hub (the “treasury”) and proposal contracts that connect to it.
Next, I’ll update my frontend interface to interact with and manage these new DAO contract systems. Finally, I will open source the “basic” DAO contract
as an asset to the community.
can you compare your solution to xBallot by Headline? they both seem to be pretty similar at first glance
you and xBallot seem to go the same way and only support tokens to determine voting power which is kind of a bummer imo as we have a lot of NFT communities on Algorand but they would need to introduce an extra governance token to use your solution instead of being able to plug in a creator address (or multiple) and give voting power to all holders of NFTs that come from that creator wallet. I therefore dont see me using these kind of tools very often because i am mainly part of NFT communities instead of token focussed communities
Updog’s DAO contracts are very different from xBallot. The main difference is in decentralization. The xBallot contract doesn’t directly check vote validity or voting power because it uses a snapshot based approach (which means that voters rely on xBallot’s backend to stay up and accurately report voting power). Updog’s contracts directly check vote validity and voting power and so can be operated safely even if updog.vote goes down, meaning that you never have to trust my tabulation of voting power.
Secondly, updog does support NFT projects, though it’s not quite ready for self service. updog.vote/coffee is the DAO created for the Coffee Bean DAO NFT project and it is fully functional on mainnet right now. I do plan on making this ready for self service asap.
Thanks! I can manually launch them for NFT projects if you know any that would like to get one set up!
The contract requires you to stake the tokens for the entire duration of the active vote. So you can stake at any time during a vote, but you can’t unstake until after the vote is completed. It does mean you can buy tokens for just a single vote and then leave though. I may include a way to calculate voting power based on token-holding + duration but it gets a bit tricky, wanted to start simple first.