Boralabs DAO Project is built with reference to OpenZeppelin's governance contracts to create a decentralized autonomous organization (DAO). Users can easily experience the blockchain DAO service through three scenarios provided by the project after connecting Metamask and minting tokens.
More info on DAO
- 🐳 Docker Desktop (latest with docker-compose)
- 🥮 Ganache GUI download
- 🟩 Node v20.17
- 🐱 Yarn v1.22.22
- 🌐 Chrome Web Browser / with Metamask Extension 🦊
- 📝 Visual Studio Code (Or any text editors of your choice ❤️)
- git
- WSL 2 (for windows only)
Step 1. Create project directory and clone projects from github
mkdir dao-project
cd dao-project
git clone https://github.com/boraecosystem/boralabs-dao
git clone https://github.com/boraecosystem/boralabs-dao-contract
Step 2. Open Ganache GUI
- Refer to 👉 Ganache Quick Start
- Open Ganache > Click Quick start
- Get the Private Key for the first account (Use it for Step 3 and import it to your Metamask)
- Import your private key to your Metamask (Latest version of Chrome Recommended)
How to import a private key to Metamask
Step 3. Deploy Contracts
cd boralabs-dao-contract
yarn install
echo DEPLOYER_KEY=<your_private_key> > .env
yarn deploy
cp .env ../boralabs-dao/.env
NOTE: <your_private_key> is the private key you got from Ganache GUI (see step 2)
Also NOTE: By the end of step 3, you will have a .env file contains chain information, contract addresses, and api endpoint in your "boralabs-dao" directory.
Step 4. Install required packages via Yarn
cd ../boralabs-dao
yarn install
code . // open your text editor (optional)
NOTE: current directory is "dao-project/boralabs-dao."
Step 5. Create API & Crawler
We are currently preparing some content for you.
Stay tuned for updates!
Thank you for your patience.
NOTE: Due to security concerns, DAO API is preparing to provide code in other forms without disclosing it.
step 6. Run Application
Check that current directory is "dao-project/boralabs-dao."
docker-compose up -d
- open http://localhost:8080 on Chrome
- Login with Metamask
MIT License, see LICENSE.
- OpenZeppelin Governance: https://docs.openzeppelin.com/contracts/5.x/governance
- OpenZeppelin Governor: https://docs.openzeppelin.com/contracts/5.x/api/governance#governor
- OpenZeppelin ERC20Votes: https://docs.openzeppelin.com/contracts/5.x/api/token/erc20#ERC20Votes