-
Notifications
You must be signed in to change notification settings - Fork 22
Getting Started
Ryan Goree edited this page Mar 9, 2023
·
11 revisions
- The process for properly deploying the smart contracts is detailed in the Contracts deployment guide.
- @council/deploy: This is a command-line tool that simplifies the process of deploying smart contracts to the blockchain. It also serves as a helpful reference for developers who want to understand how the deployment process works in more detail.
- Council Smart Contracts repo mock deploy script: This is another deployment script that can be used as a reference to understand how to deploy contracts manually, without using the CLI tool.
- The process for setting up and deploying the Reference UI to GitHub Pages is detailed in the UI deployment guide.
- Before deploying the reference UI, you'll need to adjust the UI config object to point to the correct addresses for your deployed smart contracts.
- If you've deployed your contracts to the Goerli test network, start by editing the Goerli config in the
apps/council-ui/src/config/goerli.ts
file. If you used @council/deploy, you can use the helper code to grab addresses from the latest deploy. They should all be gathered inpackages/council-deploy/src/deployments/goerli.deployments.json
- For the Ethereum mainnet, edit the Mainnet config instead in the
apps/council-ui/src/config/mainnet.ts
file. - If you've deployed to a network other than Goerli or the mainnet, you'll need to create a new config in the
apps/council-ui/src/config/
directory based on one of the existing configs. Then, add the new config to thecouncil.config.ts
file.
- Now that the UI config is done, you can deploy the Council Kit Reference UI. This is also covered in the UI deployment guide.
- The Reference UI uses Alchemy to fetch data, so you'll need to acquire Alchemy API keys for each configured chain.
- If you added new chains, you'll have to add them to the node provider object in the
apps/council-ui/src/provider.ts
file. - There are two deployment options outlined in this section of the guide: GitHub Pages and Vercel.
- To use GitHub Pages, fork the repo and configure the Pages settings to use "GitHub Actions" as the build and deployment source. You'll also need to add some repository secrets to enable the deployment workflow. You can follow this UI deployment guide for more details on this process.
- To use Vercel, follow their documentation on deploying with Git.
- When a proposal is submitted on-chain, it should show up in the list of proposals in the user interface right away. However, the config can be updated with additional metadata that isn't available on-chain, as well as the targets and calldatas for the proposal.
- The process for adding new proposal data is outlined in the Adding New Proposal Data section of the README.
Council Wiki
Technical Guides
- Getting Started
- Council Deployment Guide
- Reference UI Deployment Guide (GitHub Pages)
- How to Create Your Own Voting Vault with Council
- SDK Guide: Using Typescript to interact with Council Contracts
- Contributors Guide
Video Tutorials
- Council UI Overview
- Deploying the Council UI to Github Pages
- Get Started with the Council SDK
- Extending the SDK
Governance Proposal Framework
- Governance Proposal Framework Template
- DAO (Social) Proposal Template
- Protocol (Executable) Proposal Template
Smart Contract Documentation
- Overview
- Core Voting
- Voting Vaults Overview
- Voting Vault Example: Locking Vault
- Voting Vault Example: Vesting Vault
- Voting Vault Example: Governance Steering Council (GSC)
- Possible Voting Vaults Examples
- Timelock
- Treasury
- Spender
- Optimistic Grants
- Optimistic Rewards
- Simple Proxy
Glossaries
Security and Audits