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

help.gno

5.83 Kb · 90 lines
 1package kourtv3
 2import "strings"
 3const helpPath = "how-it-works"
 4const helpLink = "[New here? How Kourt works](/r/g1leu8d2vsplhehcfkjg50mwgdpxdkt8tztu95wr/kourtv3:" + helpPath + ")"
 5func renderHelp() string {
 6	var b strings.Builder
 7	b.WriteString("# How Kourt works\n\n")
 8	b.WriteString("Kourt is a place to put money behind whether a factual claim is " +
 9		"true — without being able to lose the money.\n\n")
10	b.WriteString("It works in two steps. **GNOT buys a court's coin**, one way; " +
11		"**that coin is what you stake** on the court's claims.\n\n")
12	b.WriteString("## You cannot lose your stake\n\n")
13	b.WriteString("Stake the court's coin on YES or NO and the stake stays yours. " +
14		"It is locked where it is, not handed to anybody: when the claim is " +
15		"answered you withdraw exactly what you put in — 1×, always, whichever " +
16		"side you took and whichever side turned out to be right. No one's stake " +
17		"pays anyone else's winnings.\n\n")
18	b.WriteString("Then what is at stake? Being right pays you more of the court's " +
19		"coin, out of the reserve it set aside for exactly that — and being wrong " +
20		"pays you none. Nothing of yours is taken either way.\n\n")
21	b.WriteString("Being right also earns **standing**, which is a separate thing " +
22		"from a balance: a score you cannot buy, and what actually gives you a " +
23		"voice here.\n\n")
24	b.WriteString("## A court is a subject\n\n")
25	b.WriteString("A court covers one subject — an epidemic, an election, a company. " +
26		"Each court has its own coin, and coins never cross between courts. Being " +
27		"right about virology earns you nothing in a court about monetary policy. " +
28		"That is the point: standing is earned subject by subject, by the people who " +
29		"follow that subject.\n\n")
30	b.WriteString("## A claim is a statement that can be settled\n\n")
31	b.WriteString("A claim is a sentence that is either true or false, written so it " +
32		"can actually be answered. You stake YES or NO, and you can move your stake " +
33		"freely until an answer posts.\n\n")
34	b.WriteString("A claim's page always says where it stands. The wordings you will see:\n\n")
35	b.WriteString("- **settled YES** or **settled NO** — answered, and the page " +
36		"says which way; every stake withdraws 1×\n")
37	b.WriteString("- **disputed** — a sealed vote is deciding; principal is never withheld\n")
38	b.WriteString("- **closed** — never answered; every stake exited 1×, the deposit refunded\n")
39	b.WriteString("- **closed without a decision** — three dispute rounds failed quorum; " +
40		"everyone withdraws 1×, deposit and fee refunded\n\n")
41	b.WriteString("## Comments are where the argument is\n\n")
42	b.WriteString("Every claim has a comment board. A YES/NO number cannot carry a " +
43		"reason, a source, or an objection; the board is where those go.\n\n")
44	b.WriteString("Writing takes standing — the score you earned by being right in " +
45		"this court, not the coin you hold. If you have none yet, you can buy a " +
46		"one-off entry pass by burning a little of the court's coin, which is the " +
47		"single place money substitutes for it. Standing sets how many comments a " +
48		"day you get, not how loudly they land: nothing is hidden for being new, " +
49		"and nothing is ranked by wealth.\n\n")
50	b.WriteString("If you have money on the claim you are commenting on, your comment " +
51		"says so — which side, and how much. The board deliberately does *not* order " +
52		"by it. You are told, and you decide what it is worth.\n\n")
53	b.WriteString("## Two things you can actually lose\n\n")
54	b.WriteString("Everything above is about a stake that always comes back. " +
55		"There are exactly two actions here that risk money, and both are " +
56		"challenges — you are putting up a **bond** to say the court got " +
57		"something wrong.\n\n")
58	b.WriteString("- **Challenging an answer.** If you think a claim was answered " +
59		"the wrong way, you can dispute it by posting a bond. Win and the " +
60		"answerer's bond is burned and you are compensated; lose and yours is " +
61		"burned instead. Nothing passes between you — a forfeit is destroyed, a " +
62		"compensation is newly issued.\n")
63	b.WriteString("- **Challenging a rating.** Every answered claim gets rated " +
64		"low, mid or high, and that rating decides what it pays. Anyone may " +
65		"challenge the rating once, also by posting a bond, which calls a vote " +
66		"on it.\n\n")
67	b.WriteString("**Your stake is never at risk in either.** A bond is separate " +
68		"money you choose to put up; the coin you staked on the claim still " +
69		"comes back 1×, whatever the challenge decides.\n\n")
70	b.WriteString("## What things cost\n\n")
71	b.WriteString("- **Staking** costs only the stake, which you get back.\n")
72	b.WriteString("- **Opening a claim** takes a deposit, refunded when the claim is " +
73		"answered or closed.\n")
74	b.WriteString("- **Receiving a court's coin** takes GNOT on a rising curve. A " +
75		"share of it (" + pct(burnBps, bpsDenom) + " today, set by the " +
76		"platform's governing court within fixed bounds) is burned for good; the " +
77		"rest is held by the court and paid back pro-rata to anyone who returns " +
78		"coin — less than they put in, right after they put it in, and below " +
79		"the next coin's price unless coin has been destroyed by bonds since the " +
80		"last offering. A one-way court burns all of it. The price " +
81		"only rises as more is minted.\n\n")
82	b.WriteString("## Who is in charge\n\n")
83	b.WriteString("Each court elects its own moderators. They answer claims, organise " +
84		"them into folders, and can hide comments. What they do to a claim or a " +
85		"comment is written to that court's moderation log, which anyone can read " +
86		"without asking. The serious powers need several moderators to agree — one " +
87		"moderator acting alone cannot use them.\n\n")
88	b.WriteString("[← all courts](/r/g1leu8d2vsplhehcfkjg50mwgdpxdkt8tztu95wr/kourtv3:)\n")
89	return b.String()
90}