/dao-sc

Smart contract for managing & running DAOs with PeerMe.

Primary LanguageRustGNU General Public License v3.0GPL-3.0

PeerMe DAO Smart Contracts

Smart contract used for managing and running DAOs through PeerMe on MultiversX Blockchain.

Specifically, two smart contracts:

  • The Entity Template: Is the actual DAO smart contract that users interact with
  • The Manager: Deploys and manages instances of the Entity Template smart contract & contains other utilities

Find the mentioned smart contracts on the Explorer:

Documentation

You can find extensive Documentation about DAOs & their supporting tools in our Knowledge Base:

  • To learn more about DAOs in general, read our Overview page.
  • To create your own DAO, follow the simple steps on the Setup page.
  • To better understand roles & permissions, check out the Roles & Permissions page.
  • To learn about the technical concepts, visit the Technical page.

Development

Requirements

  • The Manager smart contract must possess the ESDTRoleLocalMint role for the configured token of boost-reward-token-idSUPERPOWER-6f4cee in our case

Deploy

Before deploying the smart contract to the blockchain, be sure to:

  1. Remove the exit part within the deploy function in interaction/manager.sh to disable deploy protection.
  2. Configure all variables within mxpy.data-storage.json for the corresponding network.
  3. Connect & unlock your Ledger device with the Elrond app open, ready to sign the deploy transaction.
. ./interaction/manager.sh && deploy

Upgrade

To upgrade the Manager smart contract:

. ./interaction/manager.sh && upgrade

To upgrade the Entity Template smart contract:

. ./interaction/manager.sh && upgradeEntityTemplate

Testing

You can run the tests with:

cargo test

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The GNU GENERAL PUBLIC LICENSE v3.0. Please see License File for more information.