Skip to content

Commit e9b9662

Browse files
committed
update README.md
1 parent e3e8ac7 commit e9b9662

File tree

1 file changed

+23
-26
lines changed

1 file changed

+23
-26
lines changed

README.md

+23-26
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,34 @@
11
# Simple DAO with ERC20 Voting Mechanism
22

3-
This project demonstrates a basic implementation of a Decentralized Autonomous Organization (DAO) using an ERC20 token for voting. The contract uses the `ERC20Votes` extension to track voting power.
3+
This project showcases a basic implementation of a Decentralized Autonomous Organization (DAO) using an ERC20 token as a voting mechanism. The `ERC20Votes` extension is used to track and manage voting power.
44

5-
## Features
5+
## Key Features
66

7-
- **ERC20 Token Voting**: Token holders can vote on proposals or delegate their voting power.
8-
- **Proposal Creation**: A minimum of 1000 tokens is required to create a proposal.
9-
- **Voting Options**: Users can vote:
10-
1. **For**: In favor of the proposal.
11-
2. **Against**: Opposing the proposal.
12-
3. **Abstain**: Neither for nor against the proposal.
13-
- **Proposal Passing Criteria**:
14-
- A proposal must have more **For** votes than **Against**.
15-
- A quorum of 30% of the total token supply must be reached for the vote to be valid.
7+
- **Governance through ERC20 Tokens**: Token holders can participate in governance by voting directly or delegating their voting power to others.
8+
- **Proposal Creation**: A minimum of 1,000 tokens is required to submit a proposal.
9+
- **Voting Options**:
10+
- **For**: Support the proposal.
11+
- **Against**: Oppose the proposal.
12+
- **Proposal Approval Criteria**:
13+
- A proposal must have more **For** votes than **Against** to pass.
14+
- A quorum of 30% of the total token supply is required for a proposal to succeed.
1615

1716
## Protocol Structure
1817

19-
- **`GovernanceToken.sol`**: Defines the ERC20 token used for governance, managing transfers, minting, and voting power via `ERC20Votes`.
20-
21-
- **`Governor.sol`**: Handles the core governance logic, including:
22-
- Proposal creation
23-
- Voting
24-
- Proposal execution after the timelock period
25-
26-
- **`Timelock.sol`**: Enforces a delay period after a proposal passes before it can be executed, ensuring time for review or challenge.
18+
- **`GovernanceToken.sol`**: Implements the ERC20 token used as the governance token, with support for voting power management via the `ERC20Votes` extension.
19+
- **`Governor.sol`**: Contains the core governance logic, handling:
20+
- Creation of proposals
21+
- Voting processes
22+
- Managing proposal stages, including queuing and execution.
23+
- **`Timelock.sol`**: Enforces a delay period after a proposal passes before it can be executed, ensuring a review window and safeguarding the protocol.
2724

2825
## Proposal Lifecycle
2926

30-
1. **Voting Delay**: A 2-day delay after proposal creation before voting begins.
31-
2. **Voting Period**: A 3-day period where users can vote.
32-
3. **Outcome**:
33-
- If the proposal fails, it is considered **canceled**.
34-
- If passed, a 2-day **timelock** period follows before the proposal can be executed.
35-
4. **Execution**: After the timelock, the proposal is executed.
27+
1. **Voting Delay**: A proposal undergoes a 2-day delay period before voting can commence.
28+
2. **Voting Period**: A 3-day window during which users can cast their votes.
29+
3. **Outcome Determination**:
30+
- If the proposal fails to meet the required criteria, it is marked as **defeated**.
31+
- If successful, a 2-day **timelock** period follows, providing time for review before execution.
32+
4. **Execution**: Upon completion of the timelock, the proposal can be executed. Proposals that are not executed within 14 days will **expire**.
3633

37-
At any point before execution, a **guardian** address can cancel the proposal.
34+
A designated **guardian** address has the authority to **cancel** a proposal at any stage before execution.

0 commit comments

Comments
 (0)