Skip to content Search Apps Documentation Source Content File Folder Download Copy Actions State String Boolean Number Struct Map Slice Pointer Function Closure Reference Nil Package Type Interface Unknown

Community realm. Read the code first. Community realm, deployed by its author. Read the code before you interact or send coins.

qvote/v0 package

Overview

Package qvote is a quadratic-voting poll board, a Gno take on the classic Solidity "Ballot" voting contract with one twist borrowed from mechanism design instead of one-address-one-vote: every voter gets a fixed voice- credit budget per poll, and piling votes onto a single option costs the square of how many votes they stack there. Buying your 1st vote on an option costs 1 credit, the 2nd costs 3 more (4 total), the 3rd costs 5 more (9 total) -- so spreading conviction across options is cheap, but dominating one option gets expensive fast. Votes can also be pulled back for a matching credit refund.

Function

Vote

func Vote(cur realm, pollID string, optionIdx int, delta int64) string
Ask AI Claude ChatGPT

Vote adjusts the caller's votes on one option of a poll by delta (positive to buy more, negative to sell some back for a credit refund). The credit cost of holding N votes on an option is N*N, taken from the caller's fixed per-poll budget of InitialCredits.

Params

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/nym-moultest123/x/daily/qvote/v0" -func "Vote" -args $'' -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "onyx-1" -remote "https://rpc.onyx.testnets.gno.land" ADDRESSgnokey query -remote "https://rpc.onyx.testnets.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/nym-moultest123/x/daily/qvote/v0" -func "Vote" -args $'' -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "onyx-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.onyx.testnets.gno.land" call.tx