Skip to content

Instantly share code, notes, and snippets.

@protinam
Created December 6, 2017 21:30
Show Gist options
  • Save protinam/2e3c6d60d187affb1e4eafc38822e698 to your computer and use it in GitHub Desktop.
Save protinam/2e3c6d60d187affb1e4eafc38822e698 to your computer and use it in GitHub Desktop.

The Wyvern DAO (distributed autonomous organization) will be a smart contract responsible for managing the upcoming Wyvern Exchange, a decentralized digital asset exchange running on the Ethereum blockchain.

The Wyvern DAO is structured as a delegated shareholder association – the DAO smart contract controls assets and executes transactions according to majority tokenholder vote, where shareholders have the option to delegate their votes to a trusted party by locking tokens.

You’ll be responsible for implementing a simple web frontend for the Wyvern DAO, interfacing with Metamask / Parity Chrome extension client-side using Web3.js. The web application should support the following functionality:

  • Display list of DAO proposals (transactions to be executed)
  • Display list of delegates and their associated delegators
  • Allow users to create proposals
  • Allow users to vote on proposals (yea or nay)
  • Allow users to delegate their tokens
  • Allow users to undelegate previously delegated tokens
  • Allow proposal creator to execute a proposal once it has been approved

You can find the smart contract (already completed) at https://github.com/ProjectWyvern/wyvern-ethereum/blob/master/contracts/dao/DelegatedShareholderAssociation.sol. For additional background on the project, check out https://medium.com/project-wyvern/project-wyvern-next-steps-8d6fdaf13e86.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment