Implementing Contracts via DAO Proposals: A Step-by-Step Guide
As a DAO (Decentralized Autonomous Organization) operator, implementing smart contracts is crucial to executing complex decisions and trading on your platform. A common approach to implementing contracts via DAO proposals is through the use of DAO proposals with the ability to execute bytecode instructions. In this article, we will walk through the process of implementing contracts via a proposal on Compound, a popular DeFi (Decentralized Finance) protocol.
DAO Proposals Overview
In a DAO proposal, you submit a request for contract implementation to your governance committee or DAO members using a proposal template. Once approved, the DAO operator executes the proposed contract on the blockchain.
Compounding: A Simple Example of a DAO Proposal for Contract Deployment
To demonstrate how to deploy a contract via a proposal on Compound, let’s consider a simple example:
Suppose we have a decentralized exchange (DEX) like Compound, and our committee wants to create a new token to reward liquidity providers. They submit a proposal using the following template:
| Requirement | Description |
| — | — |
| 1. Deploy Contract Deploy a new token contract with the desired features |
| 2. Execute Bytecode Instructions | The contract must execute specific bytecode instructions upon deployment
Step-by-Step Process
Here’s how to deploy a contract via a proposal on Compound:

Step 1: Create a Proposal Template
To create a proposal template, you need to join your DAO’s governance committee or contribute to the community. Once you are part of the committee, you can go to the Compound DAO repository and create a new proposal.
- Log in to the Compound website ([wwwcompound.finance](
- Navigate to the “Governance” section
- Click on “Proposals” and select “Create Proposal”
Step 2: Add Requirements
In the proposal template, add the requirements needed to deploy your contract. In this case, we have added two requirements:
| Requirement | Description |
| — | — |
| 1. Deploy Contract Deploy a new token contract with the desired features |
| 2. Execute Bytecode Instructions | The contract must execute specific bytecode instructions upon deployment
Step 3: Add Bytecode Instructions
To add bytecode instructions, you will need to create a contract that implements them. You can use Solidity, the programming language used for Ethereum contracts.
- Create a new Solidity contract file (e.g.
Token.sol)
- Implement the bytecode instructions in the contract
- Ensure the contract is deployed and has the correct bytecode instructions
Step 4: Submit the proposal
Once you have completed the proposal template, add your request for contract deployment. You can attach your Solidity code to the proposal file.
- Log in to the Compound website ([wwwcompound.finance](
- Navigate to the “Governance” section
- Click on “Proposals”
- Select your proposal and click “Submit”
Step 5: Execute the proposal
After you submit your proposal, the DAO committee reviews it. If approved, they execute the proposed contract on the blockchain.
Passing Bytecode and Deploying Contracts
To pass bytecode instructions, you will need to send a transaction that includes the bytecode data in hexadecimal format. In Compound, you can use the tx command to create a new transaction with the required bytecode data.
For example:
tx -f contract bytecode_data --from --to
Replace and with your actual contract addresses.
Note: The --from and --to options specify the sender and receiver of the transaction, respectively.
Leave a Reply