How it works
You control a name and decide how knowledge under it is governed.
cancer-research.eth (your wallet owns it)
│
├── policy owner · reviewers · who may propose · approvals · public|private
├── main v42 — the authoritative version
├── branches proposals in flight
└── children trials.cancer-research.eth, immunotherapy.cancer-research.eth
(each with its own owner and policy)
contenthash(cancer-research.eth) → refs → commits on IPFS ← the ONLY thing you move on chainYou own the name, not a server
cancer-research.eth is an ENS V2 name; its registry can hold children; its resolver holds one pointer. Only your wallet — and reviewers you grant — can move it.
Policy is published
Reviewers, contributors, approvals and visibility travel with the refs object, so every reader and every reviewer sees the same rules.
Public or private
Public namespaces are plaintext on IPFS — that is the point of cancer-research.eth. Private ones, like treasury.kestrel.eth, and personal ones are encrypted; each reader opens them with a grant sealed to their own key.
Hierarchy
Register trials.cancer-research.eth under your registry and hand it to another owner with its own reviewers. The tree is the taxonomy.
Name for subjects, not writers
food.rishikesh.eth, never swiggy.rishikesh.eth or foodagent.rishikesh.eth. Who wrote a claim and where it came from are metadata on the claim. Address by what someone would look for; attribute by who said it. init warns when a child name looks like a vendor or an agent. Exception: a source big enough to maintain its own body of knowledge, like a trial registry publishing under its own name.
Review is a policy, not a tax
Public namespaces gate every write (approvals ≥ 1). Personal ones default to approvals: 0 — writes land instantly, automated review still runs and queues findings for you. Organisation namespaces gate and publish on an interval. Set with --kind at init, change with knowledge policy.
- 01
Create the namespace
Local first. Add--registerto put it on Sepolia (top-level names go through the ETH registrar and cost test USDC; children register under your parent). Add--privatefor encrypted knowledge.knowledge init cancer-research.eth --register \ --title "Cancer Research" --description "Community-maintained, reviewed." # a child, under your registry knowledge init trials.cancer-research.eth --title "Clinical trials" --register - 02
Set the policy
Who reviews, who may propose, how many approvals a proposal needs, how conflicts resolve, when local commits publish, whether approvals must be signed. With your wallet set, reviewers and named contributors are granted their roles on ENS as you go;knowledge rolesshows them.knowledge init treasury.kestrel.eth --kind organisation --private --register knowledge policy --reviewer cfo.kestrel.eth \ --contributors treasury-agent.eth \ --approvals 1 --conflicts ask --signed-approvals true knowledge policy --publish interval --interval-minutes 60 knowledge roles # what ENS now says each of them may do - 03
Seed it and publish
Owners and reviewers may commit tomaindirectly. Everyone else proposes. Push encrypts (if private), pins to IPFS and moves the pointer once.knowledge add "Pembrolizumab is approved for MSI-H solid tumours" \ --subject "Pembrolizumab" --topic approvals \ --source document:"FDA approval, May 2017" knowledge commit -m "Seed approvals" knowledge push - 04
Watch it grow
Open proposals, contributors and every version are in the explorer: /k/cancer-research.eth.