Vorschläge und Abstimmungen
Governor-Contracts
Vorschläge und Abstimmungen ist eine kostenlose Web3 & DApp Development Fundamentals-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Web3 & DApp Development Fundamentals-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Web3 & DApp Development Fundamentals-Kurs umfasst insgesamt 4 Lektionen.
Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.
The Governance Lifecycle
On-chain governance follows a clear lifecycle: propose, vote, queue, execute.
Each stage is handled by a Governor smart contract that enforces the rules automatically.
The Governor Contract
OpenZeppelin's Governor is the standard framework for DAO voting. It manages proposals, tallies votes, and triggers execution.
It is modular: you plug in a vote-counting strategy, a token, and timing parameters.
contract MyGovernor is
Governor,
GovernorVotes,
GovernorVotesQuorumFraction,
GovernorTimelockControl
{ /* ... */ }Creating a Proposal
A proposal bundles the actions to execute: target contracts, call data, and values, plus a human-readable description.
governor.propose(
[targetContract], // addresses
[0], // ETH values
[callData], // encoded function calls
"Increase reward rate to 5%"
);The Voting Delay
After a proposal is created, a voting delay passes before voting opens.
This gives members time to review and lets the snapshot block settle so balances are fixed.
votingDelay = 1 block // wait before voting
votingPeriod = 50400 blocks // ~1 week of votingCasting Votes
During the voting period, members cast votes weighted by their delegated power at the snapshot block.
Standard options are For, Against, and Abstain.
governor.castVote(proposalId, 1);
// 0 = Against, 1 = For, 2 = AbstainVote Counting and Quorum
When voting ends, the Governor tallies the weighted votes. A proposal succeeds only if it has more For than Against votes and meets the quorum.
Abstain votes typically count toward quorum but not toward the For/Against decision.
Proposal States
A proposal moves through defined states:
- Pending — waiting for voting delay
- Active — voting open
- Defeated or Succeeded
- Queued then Executed
Queuing a Successful Proposal
A succeeded proposal is usually queued in a timelock before it can run.
This delay (covered next lesson) is a safety buffer letting users react before the change takes effect.
governor.queue(targets, values, calldatas, descHash);Execution
After the timelock delay, anyone can call execute to carry out the proposal's actions on-chain.
The Governor (or its timelock) holds the permissions needed to make the changes.
governor.execute(targets, values, calldatas, descHash);
// the approved actions now runGas Costs and Off-Chain Voting
On-chain voting costs gas per vote. To save costs, many DAOs deliberate and signal off-chain (Snapshot) and only push final, binding actions on-chain.
This hybrid keeps participation cheap while preserving trustless execution.
Putting It Together
Governor contracts standardize the propose-vote-queue-execute flow. Voting delays, periods, quorum, and proposal states make governance predictable and secure.
Next we focus on timelocks, the safety layer before execution.
Quick Check
Test your understanding of the governance flow.
Recap: Proposals and Voting
You learned that:
- Governance follows propose, vote, queue, execute
- The Governor contract enforces the rules
- A voting delay and period structure the timeline
- Success needs a majority For plus quorum
- Proposals pass through defined states
Next: timelocks and safe execution.
Lerne Web3 & DApp Development Fundamentals mit einem KI-Tutor — kostenlos
Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.
- Kurse
- 29
- Lektionen
- 105
Häufig gestellte Fragen
Ist die Lektion „Vorschläge und Abstimmungen“ kostenlos?
Ja — der vollständige Text von „Vorschläge und Abstimmungen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Web3 & DApp Development Fundamentals-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Web3 & DApp Development Fundamentals-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Vorschläge und Abstimmungen“?
Governor-Contracts Du übst Web3 & DApp Development Fundamentals mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Web3 & DApp Development Fundamentals zu starten?
Keine Vorkenntnisse erforderlich. Web3 & DApp Development Fundamentals auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „Vorschläge und Abstimmungen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Web3 & DApp Development Fundamentals-Lektion Code schreiben und ausführen?
Ja. Jede Web3 & DApp Development Fundamentals-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Was ist eine DAO?
- Governance-Tokens
- Vorschläge und Abstimmungen
- Timelocks und Ausführung