by maydemir on 5/8/22, 9:00 AM with 7 comments
by splix on 5/10/22, 3:29 PM
by remdev on 5/10/22, 5:08 PM
First off, this needs context. This is a CLI for creating a Metaplex candy machine[0] - a Solana program (smart contract) from which users can mint NFTs. Sugar is a revamped version of their old CLI (not named) that serves the same purpose.
I know HN hates crypto - and NFTs especially. However I have found a lot of joy in learning about current solutions for these use cases, engaging with the Solana NFT communities, and even building my own flavor of something like Sugar for users who won't reasonably use a CLI (check my profile).
Here are some of the interesting problems I've come across in the NFT world which are new to me after an MS in Computer Science and 5+ years as a full stack web developer:
* Where do you host objects that can freely change ownership? Who pays for it? IPFS and Arweave are widely used to solve this problem. They are not perfect.
* How do you launch a "fair mint" when it comes to these NFT launches? The word fair is loosely defined. Some interesting details are:
* How do I make sure everyone has access to the launch at the same time?
* How do I make sure a bot can't claim all the items and crowd out real users? Metaplex recently added a bot tax[1] to mitigate the issue. Dynamic pricing[2] has also been used to remove incentives for bots.
The Metaplex candy machine itself also provides some solutions for "fair mint" like supporting whitelist tokens (allows only users with a specified token to mint) and on-chain captcha[3] functionality.I acknowledge (but disagree) that this may not be all it's cracked up to be by crypto die-hards. But damn it's fun to tinker around as a builder in this space.
[0]: https://docs.metaplex.com/candy-machine-v2/introduction
[1]: https://github.com/metaplex-foundation/metaplex-program-libr...
[2]: https://docs.strataprotocol.com/launchpad/dynamic-pricing-mi...