DocsThe brain

Where power lives

brain/chapters/where-power-lives.md

Brain status: ready

In any system, ask five things, and read each from the chain:

  • Who holds? A token's holders, a DAO's shares or loot, a validator's stake.
  • Who votes? Votes cast, delegated voting power, who sponsored proposals.
  • Who can move the money? A treasury's signers, the owners of a multisig.
  • Who can change the rules? An owner, an admin key, who can upgrade or pause a contract.
  • How do you join or leave? A token you buy, a vote to admit, a right to quit with your part.

Each has its own chapter, for when the person asks it:

  • who holds, who votes, and how you join or leave: who-gets-a-vote;
  • how a proposal becomes an action: from-proposal-to-action;
  • who can move the money, and who can change the rules: who-can-move-money-or-change-rules;
  • a network's validators and the stake behind them: stake-behind-the-network.

Petals reads these with a few shapes, and a recipe names which shape reads what:

Shape Answers
token balances who holds a token the contract names
count by participant how often each address did something the contract logs (sponsored, voted)
count by sender how often each address sent the transaction behind an event that doesn't name who acted
members from events, lines from events, view calls, an off-chain list today these are the Moloch v1, ERC20Votes, House of Stake and Snapshot readers; they become shapes as recipes need them

get_snapshot with a recipe's id reads a system it knows (moloch-v3 with dao and chain). One reading is one layer. To show two things at once, such as shares as size and proposals written as height, read each, keep any you gathered yourself with add_layer, join them with compose_view, and draw with propose_spec and height: m:<measure>.