The Abridged team is undertaking a project bounty from the MetaCartel, where it is building a TCR called ‘dHole’, with the aim of solving information discovery and coordination from within the Ethereum community. This proposal outlines a grant of $2,500 USD to provide liquidity to the TCR’s bonding curve.
Unique experimental value proposition:
- This will be the first TCR in history where the initial bonding curve liquidity and token distribution will be directed towards members of a DAO (MetaCartel DAO and potentially Moloch DAO as well).
It is really hard to find things in the Ethereum ecosystem.
It is extremely difficult to discover, become aware and to search for valuable information around Ethereum community projects, people and resources. This need has been signaled internally within the MetaCartel DAO and by the EF.
Some problem journeys include:
- I need an audit for my project. I want to browse a list of smart contract auditors
- I need a freelance designer to help re-design my landing page
- Research & coordination
- I am looking to explore L2 scaling solutions for my dapp, I want to see all the state channels implementation SDKs.
- Ecosystem participation
- I want to see all the DAOs out there in the ecosystem so that I can conduct research and perhaps join some of them.
Externalities of these problems include:
- Unrealized opportunities for people and projects who aren’t discovered by the community as they don’t have a good network
- Undiscovered work and often resulting in duplication efforts around solved problems
Create a universally shared ‘yellowpages’ registry for the Ethereum community that lists out every crypto project in the ecosystem. This project is known as ‘dHole’ = ‘duck hole’
“If we collaborate, we can line up all our ducks in a row.”
Scope of the proposal
- The $2,500 USD will help the project…
- Launch the full project as an initial pilot at ETHBoston
What makes this dHole TCR unique?
Community: Initial token distribution: Initial bootstrapping of the TCR bonding curve and token distribution will be initiated by MetaCartel DAO and potentially Moloch DAO. Going to be pushed by the MetaCartel community. There is meme firepower.
- A poll is entered into a queue when an ENS domain is submitted to the registry. The submission requires a user defined deposit amount of TCR tokens. Once a poll reaches the head of the queue, the poll opens. There can only be one poll open at a time. There are only two types of polls, adding an ENS entry to the registry or remove an ENS entry from the registry.
- Voters submit their encrypted vote and the amount of tokens to stake. Once a vote closes, there is a reveal period where all voters need to reveal their vote. If a voter does not reveal their vote in during the reveal period, their voting stake is slashed and shared equally amongst winning voters. All losing voters also will have their losing stake slashed and shared amongst winning voters. Once the reveal period for a vote has concluded, anyone can call the process function to start the next poll.
- The bonding curve will use code from https://gitlab.com/limelabs/continuous-organisation/tree/master/contracts/Math.
Smart Contract Overview
- The TCR design consists of 3 smart contracts (no including additional imports for ERC20 support and libraries like SafeMath). The design principle is to allow for any Moloch DAO based contract to interact and launch a TCR with arbitrary members. The majority of the code will be written in Solidity expect for the bonding curve math which will be written in Vyper.
- Registry.sol - The registry contract is a proxy used to facilitate the ragequitting and launch the TCR. Once the registry contract has started the TCR, it is no longer needed. Separating the registry from the TCR allows for future modularity so that other types of DAO “drivers” can be integrated using the same TCR design.
- TCR.sol - The tcr contract manages the tcr and is the main contract that voters will interact with once started by the registry contract. Voting starts with a submission. Each submission is put into a queue and only one ballot can be processed at a time. A ballot consists of a voting period and a reveal period. During the voting period, voters vote by putting in a vote deposit and submitting an encrypted vote. Once the voting period has ended, there is a reveal period in which votes need to reveal their votes. Failure to reveal a vote results in the loss of the vote deposit. After the reveal period has ended, the poll needs to be processed. This marks the poll as complete and begins the voting period of the next ballot in the queue.
- Voters on the losing side of a vote (less than majority) lose their voting deposit. Voters on the winning side of a vote get their voting deposit back and equally split, amongst the other winning members, the losing and non-revealed voting deposit.
- The bootstrap contract has the list of members that should be airdropped tcr tokens. If the list is exceptionally large, the registry contract can incrementally airdrop tcr tokens until the list has been exhausted.
Each project is an object that is then added to the registry has the following fields…
- Project name
- Project logo
- Project website link
- Project twitter link
- Arbitrary metadata (containing details and tags that enables the dapp to sort and filter projects on the registry by categories and other tags)
- Craigslist-like user experience, simple and minimal
- Simple information architecture
- (Page 1) Homepage:
- Lists all the items in the registry
- Can filter out by tags/topic/category eg. Auditors, Dev shops etc.
- Functionality to add and remove items from the list (add button obvious, remove button less obvious)
- (Page 2) Manage page:
- See all the user’s listings that they have submitted
- Allows user to update the listings
- (Page 1) Homepage:
How to bootstrap the listings on the site
- Use the registry to list relevant and useful things category by category eg…
- List all auditors
- List all development shops
- List all user login and authentication tooling
- Exclusivity eg…
- MetaCartel will only fund projects if that list themselves in the registry
Simply begin using it and adding to it as a universal yellow book.
Token distribution & initial liquidity
The appreg TCR contract, once it receives grant funding from a DAO will immediately rage quit and allow members in a deployed to claim a proportional amount of TCR tokens based on their DAO voting rights. The grant funding amount also effectively sets the base price for the bonding curve.
Tokens are needed to…
- Add a new listing to the registry
- Remove a listing to the registry
Tokens can be acquired…
- Via the TCR’s token bonding curve
- Through an initial/ongoing token distribution airdrops
Initial TCR Drop Offering
- This is a novel new innovation to bootstrap a token network via DAOs, wherein this case the MetaCartel DAO or any other DAO can provide liquidity to the bonding curve and where then, DAO members are given tokens in return.
- MetaCartel DAO will seek to provide a small amount of liquidity to the bonding curve and initially generate tokens (1-2k USD amount), where all members will receive a flatshare amount of tokens where they are then able to participate in the TCR registry or further fairly distribute tokens to the community.
Progress and timeline
Development and design started.
Bonding curve liquidity
The $2,500 in ETH will be sent to the TCR bonding curve as one proposal. This will add liquidity to the bonding curve and in return, MetaCartel DAO members get tokens in return.
There will be also $1,500 worth of extra pre-mine TCR tokens awarded those to community members who have contributed to the project - these members can redeem their tokens for ETH in the bonding curve (if they want).