Governance
Voting
Cast governance votes on proposals
Voting
DReps, Constitutional Committee members, and Stake Pool Operators can vote on governance actions. Evolution SDK's vote operation submits voting procedures in a transaction.
Casting a Vote
Build a VotingProcedures object with a voter, the governance action to vote on, and your vote (yes/no/abstain):
import { , , , , , } from "@evolution-sdk/evolution"
const = .()
.({
: "https://cardano-preprod.blockfrost.io/api/v0",
: ..!
})
.({ : ..!, : 0 })
// 1. Create a voter (DRep identified by key hash, script hash, or built-in)
declare const : . // from DRep.fromKeyHash() or DRep.fromScriptHash()
const = new .({ })
// 2. Identify the governance action to vote on (from chain query or governance explorer)
declare const : .
const = new .({
: ,
: 0n,
})
// 3. Create a voting procedure — yes(), no(), or abstain()
const = new .({
: .(),
: null, // optional metadata URL + hash
})
// 4. Combine into VotingProcedures and submit
const = .(, , )
const = await .().({ }).()
const = await .()
await .()Vote Options
| Function | Meaning |
|---|---|
VotingProcedures.yes() | Vote in favor |
VotingProcedures.no() | Vote against |
VotingProcedures.abstain() | Explicitly abstain |
Voter Types
| Voter | Credential Type | Script-Controlled? |
|---|---|---|
| DRep | Key hash or script hash | Yes |
| Constitutional Committee | Hot credential (key or script) | Yes |
| Stake Pool Operator | Pool key hash | No (key-hash only) |
Script-Controlled Voting
For DReps or Committee members with script credentials, provide a redeemer:
import { , , , } from "@evolution-sdk/evolution"
const = .()
.({
: "https://cardano-preprod.blockfrost.io/api/v0",
: ..!
})
.({ : ..!, : 0 })
declare const : . // built with singleVote() as shown above
declare const : any // compiled Plutus voting script (from Aiken build or Blueprint codegen)
const = await
.()
.({
,
: .(0n, []), // Vote purpose validator
: "drep-vote"
})
.({ : })
.()
const = await .()
await .()The builder automatically detects script-controlled voters and will fail if a redeemer is required but not provided.
Next Steps
- DRep Registration — Register before voting
- Proposals — Submit governance actions to vote on
- Vote Delegation — Delegate voting power