Arrow icon
Ness Labs: Make the most of your mind
Learn more about Joggo

A Summary of

Token curated registry design patterns

Matt Lockyer
View original

Token Curated Registries (TCRs) are registries for listings created by token holders, who have the ability to accept or reject actions using their tokens.

Unordered TCR

  • Can be finite or infinite
  • Open questions for development teams include parameters such as stake amount, minimum votes to accept/reject action, etc.
  • Applications: an axiomatic basis for most TCR applications
  • Several are currently in development

Ordered TCR

  • Index added to each entry in the list
  • Lists can serve functions such as queues, rank or instruction sets
  • Actions: in/out, swap
  • Application: instruction sets, governance procedures, playlists
  • Feasibility: index added to list data, additional functions to stake and swap indexes

Graded TCR

  • Each listing does not need unique index
  • Contains mutually exclusive in the form of some points
  • Actions: in/out, upvote/downvote
  • Applications: reputation systems, ranking content
  • Feasibility: Challenge rank by staking and voting, rank added to listing data and functions to upvote/downvote

Layered TCR

  • Listing should make first registry by some criteria
  • Listing must meet some kind of criteria to promote to next layer
  • Listing only lives in 1 layer at a time
  • Actions: in/out, promotion/demotion
  • Applications: ACLs, reputation, identity, player leveling, quality assurance
  • Feasibility: ability to add promotion/demotion functions to any TCR so listings can be moved from registry to registry

Nested TCR

  • Listings are pointers to other TCRs or primitive listings--leaf nodes in graph/data structure speak
  • Ability to represent any type of graph, hierarchy and network
  • Actions: in/out
  • Feasibility: can be implemented as an unordered TCR with an optional parents data attribute per listing

Combinatorial TCR

  • Stake combinations or permutations of items in a single listing
  • Actions: in/out; in/out; in/out;...
  • Applications: function parameters and ranges, game mechanics, governance
  • Feasibility: each listing can be implemented as an array of items
Related content
See all posts
Arrow icon