As of the time of writing this post, only three people (John Winston Garth, Dylan Chen, and I) have minted NFTs. This initial alpha-testing stage is now complete, so I'm opening this up to beta-testing on the forums.
Criteria for minting NFTs
Some concerns were raised on Discord and the forums about how this would interact with our community, and whether it would adversely affect our ability to continue freely exchanging patterns. To ensure that this is beneficial, the three conditions for minting an NFT in this system are:
- That you are the genuine discoverer of the pattern;
- That you agree to irrevocably release the pattern into the public domain;
- That the pattern is notable, and in particular is not a trivial variant of a previous discovery.
The second of these conditions exists so that this NFT system actively encourages openness, and prevents restrictive licensing of patterns. (If someone were to restrictively license a pattern, they'd be unable to mint a Catagolue NFT of it until the restrictive licence has been removed and the pattern released into the public domain.) This way, the system reinforces the community ethos, rather than detracting from it. The discoverer can still financially benefit from the discovery by auctioning/selling the NFT, or may prefer to just keep the NFT themselves as a 'trophy' to commemorate the discovery.
The third condition is to avoid notable patterns (typically the result of ingenuity, perseverance, and/or talent) being devalued as a result of the system being swamped by hundreds of effortless patterns. Notability on LifeWiki is a sufficient condition, although not necessary: a pattern may still be interesting or notable or aesthetically pleasing enough for minting as an NFT even if it doesn't warrant its own LifeWiki page.
Technical details
In case you're interested, here's a summary of the work that went into building this:
- Lifelib was modified to enable the creation of high-quality animated GIFs of patterns.
- Catagolue's update process was enhanced to enable self-modification, so that it can generate the GIFs and JSON files and commit them to the repository.
- A list has been added to the repository to store the details of the pattern discoverers and other data used to generate the NFTs.
- Lots of code was written to produce OpenSea-compatible JSON files.
- An ERC721-compatible smart contract was written in Solidity and deployed on the Ethereum network.
Now for the exciting part, namely minting NFTs of your own discoveries. I've funded a wallet with enough Ether to cover the gas costs for minting the first 25 NFTs (including the 5 that have been minted so far), so we can mint a further 20 NFTs during the beta-testing period. If you'd like to mint an NFT of one of your own discoveries, please post:
- A link to the forum post or Discord message where you first announced the discovery. (Since forum usernames are independent from Discord usernames, in the latter case you'll need to write a message on Discord which proves that the forum request is from the same person who wrote the Discord message. If you published the discovery through other means, such as a mailing list, then e-mail me.)
- Your Ethereum address (a hexadecimal string) which receives the minted NFT. Important: this needs to be an Ethereum address that you control (i.e. you have your own keys, rather than being custodied by a third party), as otherwise you won't have control over the NFT. If you don't already have a cryptocurrency wallet, then I'd personally recommend the Trezor hardware wallet. If you're opposed to buying any new hardware, but still want to participate, then consider the MetaMask browser extension.
- An RLE of the pattern.
- The name, description, discoverer name, and discovery date of the pattern.
- Your preferred hue for the NFT (this is the subtle colourful glow in the animated GIF).
To help ensure that everyone who's interested has a fair chance, and that there's not too much concentration amongst too few owners, I'll only approve at most 2 NFTs per person per week (so Dylan and I are already maxxed out for the first week) during this beta-testing phase.