TCR — a token-curated registry. It looks like a list of valuable items curated by a group of token holders. The registry is public for everyone, including non-token holders to read.
It is a UI/UX framework on top of the TCR smart contracts written by Mike Goldin, the creator of the TCR Paper. In November ’17 we were researching the Token Curated Registries (TCR) concept. It’s a state machine which allows to create and curate a list of items using a propose-challenge mechanism. Finally, we decide to create a UI Framework to allow anyone to easily interact with such lists.
We got excited about exploring TCR cryptosystems. In cooperation with ConsenSys we created our solution for the curation markets ecosystem called EasyTCR and realized it under the Apache License, v2.0 on GitHub.
The goal of the EasyTCR UI project is to provide Token Holders, Applicants and Consumers with a tool for interacting with the core TCR functionality. Moreover, it contains the main TCR contract, so-called “TCR of TCRs” aimed to hold a registry of any TCRs and can be curated by its Token Holders as well as any others.
Any Contract Owners can easily customize the EasyTCR UI depending on their needs using a JSON config file for applying candidate to the “TCR of TCRs” register. We use IPFS for the config & custom listing data storage. It makes EasyTCR running in a fully decentralized way except the web client hosted on a server.
Value of EasyTCR
The main value of EasyTCR is that you can apply and customize it to any kind of data based on the TCR technology.
The main purpose of EasyTCR is that you don’t need to waste your time to come up with your own TCR. All you have to do is to clone the UI from our GitHub repo and run a few commands. This intuitive and easy process allows creating a TCR for almost anyone with minimal effort.
EasyTCR is developing several items to expand its toolbox to become a truly versatile platform demanded by anyone who is willing to work with TCR’s. Here are points that make EasyTCR useful and why would you like to use it:
Running fully decentralized. We store the config file in IPFS. Only UI has been stored on a server. The interaction could be going on without any intermediary.
To operate with almost any kind of data (generic data).
TСR of TCRs (you could create a list of any TCR lists).
Customize parameters. This component is used for crowd-controlling the global variables of any Token Curated Registry via a Voting process.
We were faced with a challenge of the number and complexity statuses of the listing, and found a solution like a “listing status component”.
We were faced with a challenge of the number and complexity statuses of the listing, which haven’t been represented by the TRC smart contracts themselves. Working on this challenge, we came up with a “listing status component” which update the front-end providing the user friendly flow for the listing.
We think, that one of the most important problems in blockchain is mass-adopting. Usually, it’s pretty hard for non-developers to get familiar with a new progressive technology like blockchain.
And two of the most powerful tools from our arsenal were (and are) a good UI & a good UX. Some parts of the TCR mechanism and blockchain are really tricky to understand, so we were trying to minimize that ambiguity by developing an intuitive interface.
Here is how to apply EasyTCR to a trustworthy list of colleges.
Assume, there is a TCR list, let’s call it CollegesTCR, which consists of the best of America’s colleges.
How to apply a candidate.
- Name it.
- Set the deposit not lower than in the parameterized variables.
- Start the application process (see the git-demo files below).
- Do not forget to refresh the state of the candidate status!
The component of the transaction’s queues. Based on the logic of the TCR ERC20 smart contracts, the user has to send two or more transactions. One is to allow the smart contract to have the access to your tokens and the second one is to transfer the token. To make this operation atomic, we provided the component handling this situation in a friendly user manner.
Challenge and voting process.
Token Holders can challenge any candidates from the list as well as any new ones. 1 token is equal to 1 vote.
- Choose a candidate.
- Make a bet (token).
- Save the “salt”.
In the case of winning in voting, you have to save the “salt” to claim your reward.
How to interact with EasyTCR
You need NodeJS and Git. Just follow the instructions on how to install, integrate and customize (config.json).
We are happy to see the dev community is growing and there are many implementations and modifications extending the basic TCR made by MetaX, District0x, Messari, Ocean Protocol, FOAM and MedCredits. Fill free to contribute and discuss.
ĐApp ÐΞV is a development studio dedicated to creating decentralized applications using Ethereum platform.
We believe that the era of decentralization brings a new world of opportunities for all of us. We want to build together a more globally accessible, freer and more trustworthy Internet by means of Ethereum as a decentralized platform.
ĐApp ÐΞV has brought together some of the brightest minds in technology, cryptography, peer-to-peer technology and decentralized consensus architectures to power this future decentralized web.