Skip to content

Getting Started

Ryan Goree edited this page Mar 9, 2023 · 11 revisions

Deploying your Council Smart Contracts (CLI)

  • 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.

Setting up the UI config object

  • 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 in packages/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 the council.config.ts file.

Deploying the static UI

  • 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.

Updating a new proposal when it gets created

  • 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.
Clone this wiki locally