I've just published a next-gen NFT system called an NFTree, available at github.com/jcnelson/nftree.
NFTrees are a scalable way to mint NFTs that earn their owners a yield in STX.
A thread
Conversation
Replying to
NFTrees solve the following problems:
* Mint an arbitrarily-large collection in a single transaction
* Align the NFT user community with the long-term success of the project
* Remove moral hazards from the NFT creators
1
2
26
To achieve the first, an NFTree commits to a Merkle tree of a set of NFTs. Anyone can "pluck" an NFT off of the NFTree by submitting a Merkle proof and payment. This instantiates the NFT, and importantly, only does so when there's actual demand for it. No more pre-minting.
1
2
15
To achieve the second, these NFTs can be stacked to earn their owner a STX yield. NFTrees are created through an arcade-like system, where tickets are mined via PoX-lite and then burnt to pluck the NFT off of the NFTree. Think of the NFTree as a prize counter.
2
2
14
The STX yield share the NFT owner receives is the ticket-denominated price of the NFT, divided by the total number of tickets all stacked NFTs represent. NFT stackers get the STX that ticket miners commit.
1
2
14
This creates an incentive to hold NFTs for the long term, and to both acquire more and grow the market (which would grow the amount of STX committed for tickets), thereby turning your NFT community members into stakeholders of the NFT project.
2
2
13
NFTrees address the third point by putting the NFT creator on equal terms to the users. Instantiating the NFT collection is a fire-and-forget operation; the creator never owns any NFTs from the get-go.
1
2
9
Making an NFTree is straightforward with the `nftree.js` tool. All you have to do is plop your NFT files into a directory, run the `nftree.js` program, and it generates all the NFT data and metadata you need to make available in e.g. a Gaia hub.
2
2
9
The `nftree.clar` smart contract enables the publisher to mint NFTree series. Each NFT creator would have their own contract instance, in which they publish their collections.
1
2
8
The `nftree.clar` smart contract additionally comes with a marketplace, so NFT users can buy, sell, and stack NFTs directly for STX without having to get involved with the ticket mining process. Miners can sell their tickets, or mint and then sell NFTs by fulfilling buy orders.
2
2
10
If you're interested in building out large collections of NFTs, I encourage you to give this code a try. Happy hacking!
6
3
24
