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.

reputation package

Overview

Package reputation is Guildhall's record of completed work.

Every record says that a piece of work was paid for, who did it, who vouched for it, how much it paid and where the work lives (a PR, a realm path, a proposal). Records can only be written by allowlisted writer realms, the Guildhall bounty escrow first among them, and only at the moment escrowed funds are released. Each record also keeps the address whose signed transaction released the funds.

Scores are derived from those records with the rules in gno.land/p/g1lnkytfqcjwllws63gvf0mv9yt04aswy4y9amhm/guildhall/trust: a record is worth more when the people who approved it are themselves trusted. Any realm can consume the result with a single import:

Example
1import "gno.land/r/g1lnkytfqcjwllws63gvf0mv9yt04aswy4y9amhm/guildhall/reputation"
2
3func Vote(cur realm, ...) {
4	reputation.AssertScore(cur.Previous().Address(), 300)
5	...
6}

Function

AddRecord

func AddRecord(cur realm, worker, poster address, reviewers []address, shareBps, amount int64, denom, title, link, ref string, arbitrated bool) uint64
Ask AI Claude ChatGPT

AddRecord stores a piece of paid work and credits the worker. It may only be called by an allowlisted writer realm, at the moment it releases funds.

worker was paid amount of denom for work funded by poster and approved by reviewers. shareBps is the fraction of the milestone the worker received (10000 unless a dispute split it). title, link and ref describe the work: link points at the PR, realm path or proposal, and ref identifies the work within the writer realm (for bounties, "<id>/<milestone>").

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/g1lnkytfqcjwllws63gvf0mv9yt04aswy4y9amhm/guildhall/reputation" -func "AddRecord" -args $'' -args $'' -args $'' -args $'' -args $'' -args $'' -args $'' -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/g1lnkytfqcjwllws63gvf0mv9yt04aswy4y9amhm/guildhall/reputation" -func "AddRecord" -args $'' -args $'' -args $'' -args $'' -args $'' -args $'' -args $'' -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