Let's mint some NFTs
This week we’re talking about NFTs — that’s right, non-fungible tokens and we’re joined by Mikeal Rogers, who’s leading all things InterPlanetary Linked Data at Protocol Labs. We go down the NFT rabbit hole on a very technical level and we come out the other side with clarity and a compelling use of NFTs.
Matched from the episode's transcript 👇
Mikeal Rogers: [32:14] Right. So if you wanna create one, you do what’s called minting. To mint an NFT means you take the data, you put it into IPFS… You can use this project that I talked about, NFT.storage, and that’ll handle getting all of the data in IPFS, creating the metadata file, getting you what you need to work with an NFT. But then you’ve gotta pick a blockchain you’re gonna use, and what you’re gonna do is you’re gonna develop a contract around how that NFT is used, and then you’re gonna reference that IPFS address for that metadata in that NFT. And then you’re going to use the user’s wallet. So the user that is minting the NFT, not the developer - this is the user’s wallet - will then sign that transaction and put that on the network.
We can link to an example of how this all works, actually. That’s probably a little bit better. There’s a blog post about this little project called Minty, that we wrote at Protocol Labs, that does some minting. If you’re pulling apart these different components, there’s parts of this that are on the developer, and parts that are on the user; so the user has to have a wallet around, and there’s different ways that different applications have approached having that wallet. There’s a project called Metamask, which is a very popular wallet for Ethereum… You can use Ethereum wallets on a lot of other chains as well. It’s a public-private key. But Metamask is really nice in that that stays in secure storage on people’s devices. It’s never shared with the application. So there’s no man in the middle stuff, there’s no custody issues. It’s always the user’s address. That’s a really great one.
But a lot of these projects that are getting people to set up Metamask, getting people to set up these wallets is actually a big barrier to entry, so a lot of the NFT minting sites that you might go to will just create a wallet for you, and they’ll hold on to the public-private key pair. And that can be problematic, because if they get hacked, your private key’s gone… And also, they can kind of run off with it. You really want to have custody of your wallet in this ecosystem… But again, it’s really young, it’s really immature. The user experiences around wallet custody are not entirely worked out very well. There’s a bunch of sites where you have an account with them and they have that wallet, and then they’re handling a lot of the signature stuff for you when you mint these NFTs.