Tings are an extension of Nouns attempting to improve funding of crypto twitter derived public goods. We believe cultural utilities such as @inversebrah are wildly underappreciated.
Learn more below, or start creating Tings off-chain in the refrigerator.
The Tings Auction Contract will act as a self-sufficient Ting generation and distribution mechanism, auctioning one Ting every 2 weeks, forever. 100% of auction proceeds (ETH) are automatically deposited in the Tings DAO treasury, where they are governed by Ting owners.
Each time an auction is settled, the settlement transaction will also cause a new Ting to be minted and a new 2 week auction to begin.
While settlement is most heavily incentivized for the winning bidder, it can be triggered by anyone, allowing the system to trustlessly auction Tings as long as Ethereum is operational and there are interested bidders.
In addition to the precautions taken by Compound Governance, 0xigami has given themself a special veto right to ensure that no malicious proposals can be passed while the Ting supply is low. This veto right will only be used if an obviously harmful governance proposal has been passed, and is intended as a last resort.
0xigami will proveably revoke this veto right when they deem it safe to do so. This decision will be based on a healthy Ting distribution and a community that is engaged in the governance process.
Tings are generated randomly based on Ethereum block hashes. There are no 'if' statements or other rules governing Ting trait scarcity, which makes all Tings equally rare. As of this writing, Tings are made up of:
Tings are stored directly on Ethereum and do not utilize pointers to other networks such as IPFS. This is possible because Ting parts are compressed and stored on-chain using a custom run-length encoding (RLE), which is a form of lossless compression.
The compressed parts are efficiently converted into a single base64 encoded SVG image on-chain. To accomplish this, each part is decoded into an intermediate format before being converted into a series of SVG rects using batched, on-chain string concatenation. Once the entire SVG has been generated, it is base64 encoded.
The Ting Seeder contract is used to determine Ting traits during the minting process. The seeder contract can be replaced to allow for future trait generation algorithm upgrades. Additionally, it can be locked by the Tings DAO to prevent any future updates. Currently, Ting traits are determined using pseudo-random number generation:
keccak256(abi.encodePacked(blockhash(block.number - 1), nounId))
Trait generation is not truly random. Traits can be predicted when minting a Ting on the pending block.
0xigami is the builder that initiated Tings.
Because 100% of Ting auction proceeds are sent to Tings DAO, 0xigami has chosen to compensate themself with Tings. Every 10th Ting for the first 5 years of the project (Ting ids #0, #10, #20, #30 and so on) will be automatically sent to 0xigami.eth.
0xigami distributions don't interfere with the cadence of 2 week auctions. Tings are sent directly to 0xigami.eth, and auctions continue on schedule with the next available Ting ID.