A game DAO where members vote each other off in competition for a prize
Survivor DAO brings to life a simple concept: create web3's first hostile DAO.
Members of Survivor DAO do not experience harmony. Rather, they compete with each other for a prize by voting off other members. Members vote each other off by nominating a member they'd like to remove in the form of a proposal, and then voting on those proposals.
When creating Survivor DAO, we opted to leave the game as open-ended as possible to allow for members to play the game creatively. The DAO has 4 simple stages:
Members join the game by minting a Survivor DAO NFT and becoming a "Citizen" of the DAO.
The game starts and the window to join the DAO closes. Citizens are now free to create proposals to remove other citizens from the competition.
Proposals go live on a first-come-first-serve basis. When a proposal reaches the docket, citizens are free to vote. However, there's a catch—citizens must delegate their vote to another citizen. This mechanic forces citizens to form strategies around delegation. You don't want to delegate to someone who might want you off. Additionally, preventing self-delegation means that some citizens may have outsized voting power, while others may have none at all.
If the current proposal gets approved, the nominated citizen is exiled from the rest of the competition.
Another exile proposal is immediately put up for vote. This process continues until only one player remains. The winner receives a point to the "Rounds Survived" attribute on his ERC-721 token.
Survivor DAO brings to life a simple concept: create web3's first hostile DAO. We kept the game mechanics simple to see just how clever, conniving, and dishonest the web3 community can be.
Survivor DAO implements the OpenZeppelin ERC-721 and Governor standards. The Solidity contracts are deployed onto the Rinkeby Ethereum testnet. The front end is built using Django 4. Survivor DAO uses Tally to create, vote on, and execute proposals. Testing is done with the Waffle SDK.