WTF is NFT?

A presentation at ISTAcon in October 2022 in Sofia, Bulgaria by Petyo Dimitrov

Slide 1

Slide 1

WTF is NFT? Petyo Dimitrov | Senior Software Architect

Slide 2

Slide 2

Our NFT use case SaaS sales platform for digital products NFT feature – to offer a limited number of “tokens” alongside digital product releases

Slide 3

Slide 3

Agenda What is it? Can I steal it? How to “mint” it? What’s next?

Slide 4

Slide 4

Fungible?

Slide 5

Slide 5

Fungible?

Slide 6

Slide 6

What is it? • Non-Fungible Token • Blockchain benefits • Started with Ethereum o Permanence • Smart contract deployed on Blockchain o Transparency o Ownership o Security*

Slide 7

Slide 7

Can I steal it?

Slide 8

Slide 8

How to “mint” it?

Slide 9

Slide 9

Select a Blockchain (Görli, Sepolia)

Slide 10

Slide 10

Create a wallet & add crypto

Slide 11

Slide 11

Implement your Smart contract pragma solidity ^0.8.0; import import import import “@openzeppelin/contracts/token/ERC721/ERC721.sol”; “@openzeppelin/contracts/utils/Counters.sol”; “@openzeppelin/contracts/access/Ownable.sol”; “@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol”; contract IstaConNFT is ERC721URIStorage, Ownable { using Counters for Counters.Counter; Counters.Counter private _tokenIds; constructor() ERC721(“istacon”, “NFT”) {} function mintNFT(address recipient, string memory tokenURI) public onlyOwner returns (uint256) { _tokenIds.increment(); uint256 newItemId = _tokenIds.current(); _mint(recipient, newItemId); _setTokenURI(newItemId, tokenURI); return newItemId; } }

Slide 12

Slide 12

Store the digital content • InterPlanetary File System (IPFS) • Public, distributed & resilient • Content addressing via hashing – content cannot be changed ipfs://bafybeiebenrq5mszbmpqrs24xl454lgdnvuryyrl73v3hkq445gvoqpjqu/

Slide 13

Slide 13

Use an API

Slide 14

Slide 14

Use API calls to deploy the contract and mint the NFT

Slide 15

Slide 15

View the results 0xf755c3176dd30facdf08 61caf2db94a61eadeff879 54fd33ab13c01a7ab4c112

Slide 16

Slide 16

Lessons learned from our use case • Ethereum is fancy but more expensive and slower o ETH: o CELO: 10-100 EUR, ~0.0005 EUR, duration: minutes duration: seconds • Many “sales” materials online – but few good developer resources • Dynamic area (prices, deprecated testnets, new Blockchains)

Slide 17

Slide 17

What’s next?

Slide 18

Slide 18

Collectibles

Slide 19

Slide 19

Investment? Image by jcomp on Freepik

Slide 20

Slide 20

Illegal activities Image by Racool_studio on Freepik

Slide 21

Slide 21

Intellectual property Image by pikisuperstar on Freepik

Slide 22

Slide 22

Summary

Slide 23

Slide 23

Thanks! Questions?