From 9158f741af4c079b9e369f766eb39f04c0ef949e Mon Sep 17 00:00:00 2001 From: Tim McMackin Date: Tue, 14 Nov 2023 08:03:12 -0500 Subject: [PATCH] Update NFT marketplace tutorial (#151) * Intro page and part 1 of nft marketplace tutorial * Part 2 * Part 3 contract updates * Part 3 frontend updates * Part 4 * tweaks * Review comments from previous PR * heading fix * Move required before most optional prereqs * tweaks * Fix links after rebase * Links from other tutorials * Link to Taqueria home page * It is ok now, it works again * These need to be indented to keep from breaking list numbering * No spaces before colons * Review comments from Claude * Tokens of different types * Clarify single-asset template with Claude --------- Co-authored-by: Benjamin Fuentes --- docs/tutorials/build-an-nft-marketplace.md | 84 + .../build-an-nft-marketplace/index.md | 994 ------ .../build-an-nft-marketplace/part-1.md | 941 ++++++ .../build-an-nft-marketplace/part-2.md | 1671 +++++----- .../build-an-nft-marketplace/part-3.md | 2779 ++++++++-------- .../build-an-nft-marketplace/part-4.md | 2873 ++++++++--------- docs/tutorials/create-an-nft/nft-taquito.md | 2 + docs/tutorials/create-an-nft/nft-tznft.md | 5 +- .../create-an-nft/nft-web-app/lets-play.md | 5 +- sidebars.js | 4 +- static/img/tutorials/mintForm.png | Bin 49696 -> 0 bytes static/img/tutorials/minted.png | Bin 131764 -> 0 bytes static/img/tutorials/minted_part4.png | Bin 133714 -> 0 bytes .../nft-markeplace-2-traded-bottle.png | Bin 0 -> 56433 bytes ...n.png => nft-marketplace-1-collection.png} | Bin .../tutorials/nft-marketplace-1-mint-form.png | Bin 0 -> 207635 bytes ...ting.png => nft-marketplace-1-minting.png} | Bin .../nft-marketplace-1-tzkt-token.png | Bin 0 -> 56295 bytes .../{buy.png => nft-marketplace-2-buy.png} | Bin .../{sell.png => nft-marketplace-2-sell.png} | Bin ...uy_part3.png => nft-marketplace-3-buy.png} | Bin .../tutorials/nft-marketplace-3-minting.png | Bin 0 -> 125082 bytes ...{offer.png => nft-marketplace-3-offer.png} | Bin .../nft-marketplace-3-token-holders.png | Bin 0 -> 88359 bytes ...uy_part4.png => nft-marketplace-4-buy.png} | Bin .../img/tutorials/nft-marketplace-starter.png | Bin 0 -> 136324 bytes static/img/tutorials/sell_part4.png | Bin 50230 -> 0 bytes .../taqueria-contract-deploy-result.png | Bin 0 -> 16951 bytes 28 files changed, 4672 insertions(+), 4686 deletions(-) create mode 100644 docs/tutorials/build-an-nft-marketplace.md delete mode 100644 docs/tutorials/build-an-nft-marketplace/index.md create mode 100644 docs/tutorials/build-an-nft-marketplace/part-1.md delete mode 100644 static/img/tutorials/mintForm.png delete mode 100644 static/img/tutorials/minted.png delete mode 100644 static/img/tutorials/minted_part4.png create mode 100644 static/img/tutorials/nft-markeplace-2-traded-bottle.png rename static/img/tutorials/{winecollection.png => nft-marketplace-1-collection.png} (100%) create mode 100644 static/img/tutorials/nft-marketplace-1-mint-form.png rename static/img/tutorials/{minting.png => nft-marketplace-1-minting.png} (100%) create mode 100644 static/img/tutorials/nft-marketplace-1-tzkt-token.png rename static/img/tutorials/{buy.png => nft-marketplace-2-buy.png} (100%) rename static/img/tutorials/{sell.png => nft-marketplace-2-sell.png} (100%) rename static/img/tutorials/{buy_part3.png => nft-marketplace-3-buy.png} (100%) create mode 100644 static/img/tutorials/nft-marketplace-3-minting.png rename static/img/tutorials/{offer.png => nft-marketplace-3-offer.png} (100%) create mode 100644 static/img/tutorials/nft-marketplace-3-token-holders.png rename static/img/tutorials/{buy_part4.png => nft-marketplace-4-buy.png} (100%) create mode 100644 static/img/tutorials/nft-marketplace-starter.png delete mode 100644 static/img/tutorials/sell_part4.png create mode 100644 static/img/tutorials/taqueria-contract-deploy-result.png diff --git a/docs/tutorials/build-an-nft-marketplace.md b/docs/tutorials/build-an-nft-marketplace.md new file mode 100644 index 000000000..f9375839c --- /dev/null +++ b/docs/tutorials/build-an-nft-marketplace.md @@ -0,0 +1,84 @@ +--- +title: Build an NFT marketplace +lastUpdated: 8nd November 2023 +--- + +This tutorial guides you through creating a web application that allows users to buy and sell tokens of different types. +You will use the Taqueria platform to manage smart contracts and a distributed web application (dApp) to handle the backend and frontend of the project. + +You will learn: + +- What kinds of tokens Tezos supports +- What token standards are +- How to create contracts that are based on existing templates for token standards +- How to store token metadata in distributed storage with IPFS +- How to handle token transfers and other operations +- How to list tokens for sale and accept payments from buyers + +## Prerequisites + +1. Optional: If you haven't worked with Tezos NFTs before, consider doing the tutorial [Create an NFT](./create-an-nft) first. + +1. Set up an account with Pinata if you don't have one already and get an API key and API secret. + For instructions, see the [Configure IPFS storage](./create-an-nft/nft-taquito#configure-ipfs-storage) section of the tutorial [Create a contract and web app that mints NFTs](./create-an-nft/nft-taquito). + +1. Make sure that you have installed these tools: + + - [Node.JS and NPM](https://nodejs.org/en/download/): NPM is required to install the web application's dependencies + - [Taqueria](https://taqueria.io/), version 0.43.0 or later: Taqueria is a platform that makes it easier to develop and test dApps + - [Docker](https://docs.docker.com/engine/install/): Docker is required to run Taqueria + - [jq](https://stedolan.github.io/jq/download/): Some commands use the `jq` program to extract JSON data + - [`yarn`](https://yarnpkg.com/): The frontend application uses yarn to build and run (see this article for details about [differences between `npm` and `yarn`](https://www.geeksforgeeks.org/difference-between-npm-and-yarn/)) + - Any Tezos-compatible wallet that supports Ghostnet, such as [Temple wallet](https://templewallet.com/) + +1. Optionally, you can install [`VS Code`](https://code.visualstudio.com/download) to edit your application code in and the [LIGO VS Code extension](https://marketplace.visualstudio.com/items?itemName=ligolang-publish.ligo-vscode) for LIGO editing features such as code highlighting and completion. + Taqueria also provides a [Taqueria VS Code extension](https://marketplace.visualstudio.com/items?itemName=ecadlabs.taqueria-vscode) that helps visualize your project and run tasks. + +1. Optional: If this is your first time using Taqueria, you may want to run through [this Taqueria training](https://github.com/marigold-dev/training-dapp-1#ghostnet-testnet-wallet). + +## What are FA2 tokens? + +If you've gone through the tutorials under [Create an NFT](./create-an-nft) you know that NFTs are blockchain tokens that represent unique assets, usually created under the FA2 token standard. +However, the Tezos FA2 token standard allows you to create multiple types of tokens, and even more than one kind of token within the same smart contract. +When you create tokens, it's important to follow one of the token standards because then tools like wallets and block explorers can automatically work with those tokens. +For more information about Tezos token standards, see [Token standards](../architecture/tokens). + +In this tutorial, you use the LIGO template for FA2 tokens to create these types of tokens: + +| Token template | Number of token types | Number of tokens of each type | +| -------------- | --------------------- | ----------------------------- | +| NFT | Any number | 1 | +| Single-asset | 1 | Any number | +| Multi-asset | Any number | Any number | + +When you create your own applications, you can choose the token type that is appropriate for your use case. + +## What is IPFS? + +In most cases, developers don't store token metadata such as image files directly on Tezos. +Instead, they configure decentralized storage for the NFT data and put only the link to that data on Tezos itself. + +The InterPlanetary File System (IPFS) is a protocol and peer-to-peer network for storing and sharing data in a distributed file system. +IPFS uses content-addressable storage to uniquely identify each file in a global namespace connecting all computing devices. +In this tutorial, you use [Pinata](https://www.pinata.cloud/)'s free developer plan to store your NFT metadata on IPFS and reference it on Tezos, demonstrating a scalable and cost-effective solution for handling NFT data. + +## Tutorial application + +This tutorial was originally created by [Marigold](https://www.marigold.dev/), which hosts versions of the tutorial application after each part of the tutorial: + +- [Part 1](https://github.com/marigold-dev/training-nft-1) +- [Part 2](https://github.com/marigold-dev/training-nft-2) +- [Part 3](https://github.com/marigold-dev/training-nft-3) +- [Part 4](https://github.com/marigold-dev/training-nft-4) + +The completed application at the end of the tutorial is a marketplace where administrator users can list wine bottles for sale by entering information about them and uploading a photo. +The application creates tokens based on this information and the site allows other users to buy the tokens that represent wine bottles. + +You can see a running version of this application here: https://demo.winefactory.marigold.dev. + +![The complete application, showing wine bottles for sale](/img/tutorials/nftfactory.png) + +This application is made up of a smart contract that handles the tokens and a frontend web application that handles the user interface and sends transactions to the backend. +As you work through the tutorial, you will use different smart contracts and upgrade the web application to work with them. + +When you're ready, go to [Part 1: Minting tokens](./build-an-nft-marketplace/part-1) to begin. diff --git a/docs/tutorials/build-an-nft-marketplace/index.md b/docs/tutorials/build-an-nft-marketplace/index.md deleted file mode 100644 index 0e41b414f..000000000 --- a/docs/tutorials/build-an-nft-marketplace/index.md +++ /dev/null @@ -1,994 +0,0 @@ ---- -title: NFT Marketplace Part 1 -last_update: - date: 11 October 2023 ---- - -## Introduction - -Welcome to the first part of our four-part series on building an NFT Marketplace. This tutorial aims to equip you with the knowledge and tools to create a robust NFT platform. - -In the first part, you learn: - -- The concepts of FA, IPFS, and smart contracts. -- How to build an NFT Marketplace from the ligo/fa library. - -:::note -This training course is provided by [Marigold](https://www.marigold.dev/). -You can find the 4 parts on github (solution + materials to build the UI) - -- [NFT 1](https://github.com/marigold-dev/training-nft-1): use FA2 NFT template to understand the basics -- [NFT 2](https://github.com/marigold-dev/training-nft-2): finish FA2 NFT marketplace to introduce sales -- [NFT 3](https://github.com/marigold-dev/training-nft-3): use FA2 single asset template to build another kind of marketplace -- [NFT 4](https://github.com/marigold-dev/training-nft-4): use FA2 multi asset template to build last complex kind of marketplace -::: - -## Key Concepts - -### What is FA? - -Business objects managed by a blockchain are called **assets**. On Tezos you find the term **Financial Asset or FA** with different versions 1, 2, or 2.1. - -### What is IPFS? - -The InterPlanetary File System is a protocol and peer-to-peer network for storing and sharing data in a distributed file system. IPFS uses content-addressing to uniquely identify each file in a global namespace connecting all computing devices. This tutorial is using [Pinata](https://www.pinata.cloud/) (free developer plan) to store the metadata for NFTs. An alternative would be to install a local IPFS node or an API gateway backend with a usage quota. - -### Smart Contracts Overview - -There are two contracts for the marketplace. - -#### 1. The token contract - -On Tezos, FA2 is the standard for Non-Fungible Token contracts. The [template provided by Ligo](https://packages.ligolang.org/package/@ligo/fa) will be used to build out the Token Contract. The template contains the basic entrypoints for building a Fungible or Non-fungible token including: - -- Transfer -- Balance_of -- Update_operators - -#### 2. Marketplace unique contract - -Next, you need to import the token contract into the marketplace unique contract. The latter is bringing missing features as: - -- Mint -- Buy -- Sell - -## Wine marketplace - -After grasping the key concepts, we'll proceed to build a Wine marketplace extending the `@ligo/fa` package from the [Ligo repository](https://packages.ligolang.org/). The goal is to showcase how to extend an existing smart contract and build a frontend on top of it. - -The Wine marketplace is adding these features on top of a generic NFT contract : - -- mint new wine bottles -- update wine bottle metadata details -- buy wine bottles -- sell wine bottles - -You can play with the [final demo](https://demo.winefactory.marigold.dev/). - -![nftfactory.png](/img/tutorials/nftfactory.png) - -| Token template | # of token_type | # of item per token_type | -| -------------- | --------------- | ------------------------ | -| NFT | 0..n | 1 | -| single asset | 0..1 | 1..n | -| multi asset | 0..n | 1..n | - -:::note -Because of web3, buy or sell features are a real payment system using on-chain XTZ tokens as money. This differs from traditional web2 applications where you have to integrate a payment system and so, pay extra fees -::: - -## Prerequisites - -Before building an NFT marketplace, ensure you have the following tools on hand. - -### Required - -- [npm](https://nodejs.org/en/download/): front-end is a TypeScript React client app -- [taqueria >= v0.40.0](https://github.com/ecadlabs/taqueria) : Tezos app project tooling -- [Docker](https://docs.docker.com/engine/install/): needed for `taqueria` -- [jq](https://stedolan.github.io/jq/download/): extract `taqueria` JSON data - -### Recommended - -- [`VS Code`](https://code.visualstudio.com/download): as code editor -- [`yarn`](https://classic.yarnpkg.com/lang/en/docs/install/#windows-stable): to build and run the front-end (see this article for more details about [differences between `npm` and `yarn`](https://www.geeksforgeeks.org/difference-between-npm-and-yarn/)) -- [ligo VS Code extension](https://marketplace.visualstudio.com/items?itemName=ligolang-publish.ligo-vscode): for smart contract highlighting, completion, etc. -- [Temple wallet](https://templewallet.com/): an easy to use Tezos wallet in your browser (or any other one with ghostnet support) - -### Optional - -- [taqueria VS Code extension](https://marketplace.visualstudio.com/items?itemName=ecadlabs.taqueria-vscode): visualize your project and execute tasks - -## Smart Contract Modification - -Use **Taqueria** to shape the project structure, then create the NFT marketplace smart contract thanks to the `ligo/fa` library. - -:::note -You require to copy some code from this git repository later, so you can clone it with: - -```bash -git clone https://github.com/marigold-dev/training-nft-1.git -``` - -::: - -### Step 1: Taq'ify your project - -First, set up our smart contract structure. - -```bash -taq init training -cd training -taq install @taqueria/plugin-ligo -``` - -**Your project is ready!** - -### Step 2: FA2 contract - -Next, you need to build the FA2 contract which relies on the Ligo FA library. To understand in detail how assets work on Tezos, please read the notes below. - -- [FA2 standard](https://gitlab.com/tezos/tzip/-/blob/master/proposals/tzip-12/tzip-12.md) - -- Additional contract metadata can be added to ease displaying token pictures, etc., this is described in the [TZIP-21 standard](https://gitlab.com/tezos/tzip/-/blob/master/proposals/tzip-21/tzip-21.md) - -- [Generic Contract metadata reference](https://gitlab.com/tezos/tzip/-/blob/master/proposals/tzip-16/tzip-16.md) - -Install the `ligo/fa` library locally: - -```bash -echo '{ "name": "app", "dependencies": { "@ligo/fa": "^1.0.8" } }' >> ligo.json -TAQ_LIGO_IMAGE=ligolang/ligo:1.0.0 taq ligo --command "install @ligo/fa" -``` - -### Step 3: NFT marketplace contract - -Then, create the NFT marketplace contract with `taqueria` - -```bash -taq create contract nft.jsligo -``` - -Remove the default code and paste this code instead - -```ligolang -#import "@ligo/fa/lib/fa2/nft/nft.impl.jsligo" "FA2Impl" - -/* ERROR MAP FOR UI DISPLAY or TESTS - const errorMap : map = Map.literal(list([ - ["0", "Enter a positive and not null amount"], - ["1", "Operation not allowed, you need to be administrator"], - ["2", "You cannot sell more than your current balance"], - ["3", "Cannot find the offer you entered for buying"], - ["4", "You entered a quantity to buy than is more than the offer quantity"], - ["5", "Not enough funds, you need to pay at least quantity * offer price to get the tokens"], - ["6", "Cannot find the contract relative to implicit address"], - ])); -*/ - -export type storage = { - administrators: set
, - ledger: FA2Impl.NFT.ledger, - metadata: FA2Impl.TZIP16.metadata, - token_metadata: FA2Impl.TZIP12.tokenMetadata, - operators: FA2Impl.NFT.operators -}; - -type ret = [list, storage]; -``` - -Explanations: - -- the first line `#import "@ligo/fa/lib/fa2/nft/nft.impl.jsligo" "FA2Impl"` imports the Ligo FA library implementation that your code is extending. Then, add new entrypoints to the base code. -- `storage` definition is an extension of the imported library storage. You need to point to the original types keeping the same naming - - `FA2Impl.NFT.ledger` : keep/trace ownership of tokens - - `FA2Impl.TZIP16.metadata` : tzip-16 compliance - - `FA2Impl.TZIP12.tokenMetadata` : tzip-12 compliance - - `FA2Impl.NFT.operators` : permissions part of FA2 standard -- `storage` has more fields to support a set of `administrators` - -The contract compiles, now let's write `transfer,balance_of,update_operators` entrypoints. You do a passthrough call to the underlying library. - -```ligolang -@entry -const transfer = (p: FA2Impl.TZIP12.transfer, s: storage): ret => { - const ret2: [list, FA2Impl.NFT.storage] = - FA2Impl.NFT.transfer( - p, - { - ledger: s.ledger, - metadata: s.metadata, - token_metadata: s.token_metadata, - operators: s.operators, - } - ); - return [ - ret2[0], - { - ...s, - ledger: ret2[1].ledger, - metadata: ret2[1].metadata, - token_metadata: ret2[1].token_metadata, - operators: ret2[1].operators, - } - ] -}; - -@entry -const balance_of = (p: FA2Impl.TZIP12.balance_of, s: storage): ret => { - const ret2: [list, FA2Impl.NFT.storage] = - FA2Impl.NFT.balance_of( - p, - { - ledger: s.ledger, - metadata: s.metadata, - token_metadata: s.token_metadata, - operators: s.operators, - } - ); - return [ - ret2[0], - { - ...s, - ledger: ret2[1].ledger, - metadata: ret2[1].metadata, - token_metadata: ret2[1].token_metadata, - operators: ret2[1].operators, - } - ] -}; - -@entry -const update_operators = (p: FA2Impl.TZIP12.update_operators, s: storage): ret => { - const ret2: [list, FA2Impl.NFT.storage] = - FA2Impl.NFT.update_operators( - p, - { - ledger: s.ledger, - metadata: s.metadata, - token_metadata: s.token_metadata, - operators: s.operators, - } - ); - return [ - ret2[0], - { - ...s, - ledger: ret2[1].ledger, - metadata: ret2[1].metadata, - token_metadata: ret2[1].token_metadata, - operators: ret2[1].operators, - } - ] -}; -``` - -Explanation: - -- every `FA2Impl.NFT.xxx()` called function is taking the storage type of the NFT library, so you need to send a partial object from our storage definition to match the type definition -- the return type contains also the storage type of the library, so you need to reconstruct the storage by copying the modified fields - -:::note -The LIGO team is working on merging type definitions, so you then can do **type union** or **merge 2 objects** like in Typescript -::: - -Let's add the `Mint` function now. Add the new function - -```ligolang -@entry -const mint = ( - [token_id, name, description, symbol, ipfsUrl]: [ - nat, - bytes, - bytes, - bytes, - bytes - ], - s: storage -): ret => { - if (! Set.mem(Tezos.get_sender(), s.administrators)) return failwith("1"); - const token_info: map = - Map.literal( - list( - [ - ["name", name], - ["description", description], - ["interfaces", (bytes `["TZIP-12"]`)], - ["artifactUri", ipfsUrl], - ["displayUri", ipfsUrl], - ["thumbnailUri", ipfsUrl], - ["symbol", symbol], - ["decimals", (bytes `0`)] - ] - ) - ) as map; - return [ - list([]) as list, - { - ...s, - ledger: Big_map.add(token_id, Tezos.get_sender(), s.ledger) as - FA2Impl.NFT.ledger, - token_metadata: Big_map.add( - token_id, - { token_id: token_id, token_info: token_info }, - s.token_metadata - ), - operators: Big_map.empty as FA2Impl.NFT.operators, - } - ] -}; -``` - -Explanation: - -- `mint` function allows you to create a unique NFT. You have to declare the name, description, symbol, and ipfsUrl for the picture to display -- to simplify, the code here does not manage the increment of the token_id here it is done by the front end later. You should manage this counter on-chain to avoid overriding an existing NFT. There is no rule to allocate a specific number to the token_id but people increment it from 0. Also, there is no rule if you have a burn function to reallocate the token_id to a removed index and just continue the sequence from the greatest index. -- most of the fields are optional except `decimals` that is set to `0`. A unique NFT does not have decimals, it is a unit -- by default, the `quantity` for an NFT is `1`, that is why every bottle is unique and there is no need to set a total supply on each NFT. -- if you want to know the `size of the NFT collection`, you need an indexer on the frontend side. It is not possible to have this information on the contract (because big_map has not a .keys() function returning the keys) unless you add and additional element on the storage to cache it - -Smart contract implementation for this first training is finished, let's prepare the deployment to ghostnet. - -Compile the file to create a default taqueria initial storage and parameter file - -```bash -TAQ_LIGO_IMAGE=ligolang/ligo:1.0.0 taq compile nft.jsligo -``` - -Edit the new storage file `nft.storageList.jsligo` as it. (:warning: you can change the `administrator` address to your own address or keep alice address `tz1VSUr8wwNhLAzempoch5d6hLRiTh8Cjcjb`) - -```ligolang -#import "nft.jsligo" "Contract" - -const default_storage : Contract.storage = { - administrators: Set.literal( - list(["tz1VSUr8wwNhLAzempoch5d6hLRiTh8Cjcjb" as address]) - ) as set
, - ledger: Big_map.empty as Contract.FA2Impl.NFT.ledger, - metadata: Big_map.literal( - list( - [ - ["", bytes `tezos-storage:data`], - [ - "data", - bytes - `{ - "name":"FA2 NFT Marketplace", - "description":"Example of FA2 implementation", - "version":"0.0.1", - "license":{"name":"MIT"}, - "authors":["Marigold"], - "homepage":"https://marigold.dev", - "source":{ - "tools":["Ligo"], - "location":"https://github.com/ligolang/contract-catalogue/tree/main/lib/fa2"}, - "interfaces":["TZIP-012"], - "errors": [], - "views": [] - }` - ] - ] - ) - ) as Contract.FA2Impl.TZIP16.metadata, - token_metadata: Big_map.empty as Contract.FA2Impl.TZIP12.tokenMetadata, - operators: Big_map.empty as Contract.FA2Impl.NFT.operators, -}; -``` - -Compile and deploy to ghostnet - -```bash -TAQ_LIGO_IMAGE=ligolang/ligo:1.0.0 taq compile nft.jsligo -taq install @taqueria/plugin-taquito -taq deploy nft.tz -e "testing" -``` - -:::note -If this is the first time you're using **taqueria**, you may want to run through [this training](https://github.com/marigold-dev/training-dapp-1#ghostnet-testnet-wallet). -::: - -> For advanced users, just go to `.taq/config.local.testing.json` and change the default account by alice one's (publicKey,publicKeyHash,privateKey) and then redeploy: -> -> ```json -> { -> "networkName": "ghostnet", -> "accounts": { -> "taqOperatorAccount": { -> "publicKey": "edpkvGfYw3LyB1UcCahKQk4rF2tvbMUk8GFiTuMjL75uGXrpvKXhjn", -> "publicKeyHash": "tz1VSUr8wwNhLAzempoch5d6hLRiTh8Cjcjb", -> "privateKey": "edsk3QoqBuvdamxouPhin7swCvkQNgq4jP5KZPbwWNnwdZpSpJiEbq" -> } -> } -> } -> ``` - -Deploy again - -```bash -taq deploy nft.tz -e "testing" -``` - -```logs -┌──────────┬──────────────────────────────────────┬───────┬──────────────────┬────────────────────────────────┐ -│ Contract │ Address │ Alias │ Balance In Mutez │ Destination │ -├──────────┼──────────────────────────────────────┼───────┼──────────────────┼────────────────────────────────┤ -│ nft.tz │ KT18sgGX5nu4BzwV2JtpQy4KCqc8cZU5MwnN │ nft │ 0 │ https://ghostnet.ecadinfra.com │ -└──────────┴──────────────────────────────────────┴───────┴──────────────────┴────────────────────────────────┘ -``` - -**Backend is finished!** - -## NFT Marketplace frontend - -This section guides you step-by-step in setting up an intuitive frontend. - -### Step 1: Get the react boilerplate - -To save time, a [boilerplate ready for the UI](https://github.com/marigold-dev/training-nft-1/tree/main/reactboilerplateapp) is ready for you. - -Copy this code into your folder (:warning: assuming you have cloned this repo and your current path is `$REPO/training`) - -```bash -cp -r ../reactboilerplateapp/ ./app -``` - -> Note : if you want to understand how it has been made from scratch look at [this training](https://github.com/marigold-dev/training-dapp-1#construction_worker-dapp) - -It is easier on frontend side to use typed objects. Taqueria provides a plugin to generate Typescript classes from your Michelson code. - -Install the plugin, then generate a representation of your smart contract objects that writes these files to your frontend app source code. - -Finally, run the server - -```bash -taq install @taqueria/plugin-contract-types -taq generate types ./app/src -cd app -yarn install -yarn dev -``` - -> Note : On a **Mac** :green_apple:, sometimes `sed` commands do not work exactly the same as Unix commands. Look at the start script on package.json for Mac below : -> ` "dev": "if test -f .env; then sed -i '' \"s/\\(VITE_CONTRACT_ADDRESS *= *\\).*/\\1$(jq -r 'last(.tasks[]).output[0].address' ../.taq/testing-state.json)/\" .env ; else jq -r '\"VITE_CONTRACT_ADDRESS=\" + last(.tasks[]).output[0].address' ../.taq/testing-state.json > .env ; fi && vite",` - -The website is ready! You have: - -- last deployed contract address always is refreshed from **taqueria** configuration at each start -- login/logout -- the general layout / navigation - -If you try to connect you are redirected to `/` path that is also the wine catalog. - -There are no bottle collections yet, so you have to create the mint page. - -### Step 2: Mint Page - -Edit default mint Page on `./src/MintPage.tsx` - -#### Add a form to create the NFT - -In `MintPage.tsx`, replace the **HTML** template starting with `` with this one : - -```html - - - {storage ? ( - - ) : ( - "" - )} - - - - - -
- - Mint a new collection - - - - - - - {pictureUrl ? ( - - ) : ( - "" - )} - - - - -
-
-
- - - Mint your wine collection - - {nftContratTokenMetadataMap.size != 0 ? ( - "//TODO" - ) : ( - - Sorry, there is not NFT yet, you need to mint bottles first - - )} -
-``` - -Inside your `MintPage` Component function, all all following elements : - -- A `formik` form : - -```typescript -const validationSchema = yup.object({ - name: yup.string().required("Name is required"), - description: yup.string().required("Description is required"), - symbol: yup.string().required("Symbol is required"), -}); - -const formik = useFormik({ - initialValues: { - name: "", - description: "", - token_id: 0, - symbol: "WINE", - } as TZIP21TokenMetadata, - validationSchema: validationSchema, - onSubmit: (values) => { - mint(values); - }, -}); -``` - -Now, add `pictureUrl` and `setFile` declaration to display the token image after pinning it to IPFS, and to get the upload file on the form: - -```typescript -const [pictureUrl, setPictureUrl] = useState(""); -const [file, setFile] = useState(null); -``` - -Add drawer variables to manage the side popup of the form: - -```typescript -//open mint drawer if admin -const [formOpen, setFormOpen] = useState(false); - -useEffect(() => { - if (storage && storage.administrators.indexOf(userAddress! as address) < 0) - setFormOpen(false); - else setFormOpen(true); -}, [userAddress]); - -const toggleDrawer = - (open: boolean) => (event: React.KeyboardEvent | React.MouseEvent) => { - if ( - event.type === "keydown" && - ((event as React.KeyboardEvent).key === "Tab" || - (event as React.KeyboardEvent).key === "Shift") - ) { - return; - } - setFormOpen(open); - }; -``` - -Finally, fix the missing imports at the beginning of the file : - -```typescript -import { AddCircleOutlined, Close } from "@mui/icons-material"; -import OpenWithIcon from "@mui/icons-material/OpenWith"; -import { - Box, - Button, - Stack, - SwipeableDrawer, - TextField, - Toolbar, - useMediaQuery, -} from "@mui/material"; -import Paper from "@mui/material/Paper"; -import Typography from "@mui/material/Typography"; -import { useFormik } from "formik"; -import React, { useEffect, useState } from "react"; -import * as yup from "yup"; -import { TZIP21TokenMetadata, UserContext, UserContextType } from "./App"; -import { address } from "./type-aliases"; -``` - -#### Add mint missing function - -First, add the `mint` function and related imports : - -```typescript -import { useSnackbar } from "notistack"; -import { BigNumber } from "bignumber.js"; -import { address, bytes, nat } from "./type-aliases"; -import { char2Bytes } from "@taquito/utils"; -import { TransactionInvalidBeaconError } from "./TransactionInvalidBeaconError"; -``` - -Add the `mint` function inside your `MintPage` Component function - -```typescript -const { enqueueSnackbar } = useSnackbar(); - -const mint = async (newTokenDefinition: TZIP21TokenMetadata) => { - try { - //IPFS - if (file) { - const formData = new FormData(); - formData.append("file", file); - - const requestHeaders: HeadersInit = new Headers(); - requestHeaders.set( - "pinata_api_key", - `${import.meta.env.VITE_PINATA_API_KEY}` - ); - requestHeaders.set( - "pinata_secret_api_key", - `${import.meta.env.VITE_PINATA_API_SECRET}` - ); - - const resFile = await fetch( - "https://api.pinata.cloud/pinning/pinFileToIPFS", - { - method: "post", - body: formData, - headers: requestHeaders, - } - ); - - const responseJson = await resFile.json(); - console.log("responseJson", responseJson); - - const thumbnailUri = `ipfs://${responseJson.IpfsHash}`; - setPictureUrl( - `https://gateway.pinata.cloud/ipfs/${responseJson.IpfsHash}` - ); - - const op = await nftContrat!.methods - .mint( - new BigNumber(newTokenDefinition.token_id) as nat, - char2Bytes(newTokenDefinition.name!) as bytes, - char2Bytes(newTokenDefinition.description!) as bytes, - char2Bytes(newTokenDefinition.symbol!) as bytes, - char2Bytes(thumbnailUri) as bytes - ) - .send(); - - //close directly the form - setFormOpen(false); - enqueueSnackbar( - "Wine collection is minting ... it will be ready on next block, wait for the confirmation message before minting another collection", - { variant: "info" } - ); - - await op.confirmation(2); - - enqueueSnackbar("Wine collection minted", { variant: "success" }); - - refreshUserContextOnPageReload(); //force all app to refresh the context - } - } catch (error) { - console.table(`Error: ${JSON.stringify(error, null, 2)}`); - let tibe: TransactionInvalidBeaconError = new TransactionInvalidBeaconError( - error - ); - enqueueSnackbar(tibe.data_message, { - variant: "error", - autoHideDuration: 10000, - }); - } -}; -``` - -> Note : organize/fix duplicated import declarations if necessary - -![mint form](/img/tutorials/mintForm.png) - -Explanations: - -- on Mint button click, upload a file and then call the **pinata API** to push the file to **IPFS**. It returns the hash -- hash is used in two different ways - - https pinata gateway link (or any other ipfs http viewer) - - ipfs link for the backend thumbnail url -- TZIP standard requires storing data in `bytes`. As there is no Michelson function to convert string to bytes (using Micheline data PACK is not working, as it alters the final bytes), do the conversion using `char2Bytes` on the frontend side - -> Note : Finally, if you remember on the backend, token_id increment management was done in the ui, so you can write this code. It is not a good security practice as it supposes that the counter is managed on frontend side, but it is ok for demo purpose. - -Add this code inside your `MintPage` Component function , every time you have a new token minted, you increment the counter for the next one - -```typescript -useEffect(() => { - (async () => { - if (nftContratTokenMetadataMap && nftContratTokenMetadataMap.size > 0) { - formik.setFieldValue("token_id", nftContratTokenMetadataMap.size); - } - })(); -}, [nftContratTokenMetadataMap?.size]); -``` - -### Display all minted bottles - -Replace the `"//TODO"` keyword with this template - -```html - - - {Array.from(nftContratTokenMetadataMap!.entries()).map( - ([token_id, token]) => ( - - - - - - - - {"ID : " + token_id} - {"Symbol : " + token.symbol} - - {"Description : " + token.description} - - - - - ) - )} - - - Next - - - } - backButton={ - - } - /> - -``` - -Finally, your imports at beginning of the file should be like this : - -```typescript -import SwipeableViews from "react-swipeable-views"; -import OpenWithIcon from "@mui/icons-material/OpenWith"; -import { - Box, - Button, - CardHeader, - CardMedia, - MobileStepper, - Stack, - SwipeableDrawer, - TextField, - Toolbar, - useMediaQuery, -} from "@mui/material"; -import Card from "@mui/material/Card"; -import CardContent from "@mui/material/CardContent"; -import { - AddCircleOutlined, - Close, - KeyboardArrowLeft, - KeyboardArrowRight, -} from "@mui/icons-material"; -import Paper from "@mui/material/Paper"; -import Typography from "@mui/material/Typography"; -import { useFormik } from "formik"; -import React, { useEffect, useState } from "react"; -import * as yup from "yup"; -import { TZIP21TokenMetadata, UserContext, UserContextType } from "./App"; -import { useSnackbar } from "notistack"; -import { BigNumber } from "bignumber.js"; -import { address, bytes, nat } from "./type-aliases"; -import { char2Bytes } from "@taquito/utils"; -import { TransactionInvalidBeaconError } from "./TransactionInvalidBeaconError"; -``` - -and some variables inside your `MintPage` Component function - -```typescript -const [activeStep, setActiveStep] = React.useState(0); - -const handleNext = () => { - setActiveStep((prevActiveStep) => prevActiveStep + 1); -}; - -const handleBack = () => { - setActiveStep((prevActiveStep) => prevActiveStep - 1); -}; - -const handleStepChange = (step: number) => { - setActiveStep(step); -}; -``` - -## Let's play - -- Connect with your wallet and choose **alice** account _(or the administrator you set on the smart contract earlier)_. You are redirected to the Administration /mint page as there is no NFT minted yet. -- Create your first wine bottle, for example: - - `name`: Saint Emilion - Franc la Rose - - `symbol`: SEMIL - - `description`: Grand cru 2007 -- Click on **Upload an image** and select a bottle picture on your computer -- Click on the Mint button - -![minting](/img/tutorials/minting.png) - -Your picture is be pushed to IPFS and displayed. - -Then, Temple Wallet _(or whatever other wallet you choose)_ asks you to sign the operation. Confirm it, and less than 1 minute after the confirmation notification, the page is automatically refreshed to display your wine collection with your first NFT! - -Now you can see all NFTs - -![wine collection](/img/tutorials/winecollection.png) - -## Summary - -You are able to create an NFT collection marketplace from the `ligo/fa` library. - -On next training, you will add the buy and sell functions to your smart contract and update the frontend to allow these actions. - -To continue, let's go to [Part 2](./part-2). diff --git a/docs/tutorials/build-an-nft-marketplace/part-1.md b/docs/tutorials/build-an-nft-marketplace/part-1.md new file mode 100644 index 000000000..0af1c44cf --- /dev/null +++ b/docs/tutorials/build-an-nft-marketplace/part-1.md @@ -0,0 +1,941 @@ +--- +title: "Part 1: Minting tokens" +lastUpdated: 8th November 2023 +--- + +To start working with the application, you create a Taqueria project and use it to deploy an FA2 contract. +Then you set up a web application to mint NFTs by calling the contract's mint endpoint and uploading an image and metadata to IPFS. + +Before you begin, make sure that you have installed the tools in the [Prerequisites](../build-an-nft-marketplace#prerequisites) section. + +## Creating a Taqueria project + +Taqueria manages the project structure and keeps it up to date. +For example, when you deploy a new smart contract, Taqueria automatically updates the web app to send transactions to that new smart contract. +Follow these steps to set up a Taqueria project: + +1. On the command-line terminal, run these commands to set up a Taqueria project and install the LIGO and Taquito plugins: + + ```bash + taq init nft-marketplace + cd nft-marketplace + taq install @taqueria/plugin-ligo + taq install @taqueria/plugin-taquito + ``` + +1. Install the `ligo/fa` library, which provides templates for creating FA2 tokens: + + ```bash + echo '{ "name": "app", "dependencies": { "@ligo/fa": "^1.0.9" } }' >> ligo.json + TAQ_LIGO_IMAGE=ligolang/ligo:1.1.0 taq ligo --command "install @ligo/fa" + ``` + +This command can take some time because it downloads and installs the `@ligo/fa` package. + +## Creating an FA2 contract from a template + +The `ligo/fa` library provides a template that saves you from having to implement all of the FA2 standard yourself. +Follow these steps to create a contract that is based on the template and implements the required endpoints: + +1. Create a contract to manage your NFTs: + + ```bash + taq create contract nft.jsligo + ``` + +1. Open the `contracts/nft.jsligo` file in any text editor and replace the default code with this code: + + ```ligolang + #import "@ligo/fa/lib/fa2/nft/nft.impl.jsligo" "FA2Impl" + + /* ERROR MAP FOR UI DISPLAY or TESTS + const errorMap : map = Map.literal(list([ + ["0", "Enter a positive and not null amount"], + ["1", "Operation not allowed, you need to be administrator"], + ["2", "You cannot sell more than your current balance"], + ["3", "Cannot find the offer you entered for buying"], + ["4", "You entered a quantity to buy than is more than the offer quantity"], + ["5", "Not enough funds, you need to pay at least quantity * offer price to get the tokens"], + ["6", "Cannot find the contract relative to implicit address"], + ])); + */ + + export type storage = { + administrators: set
, + ledger: FA2Impl.NFT.ledger, + metadata: FA2Impl.TZIP16.metadata, + token_metadata: FA2Impl.TZIP12.tokenMetadata, + operators: FA2Impl.NFT.operators + }; + + type ret = [list, storage]; + ``` + + The first line of this code imports the FA2 template as the `FA2Impl` object. + Then, the code defines error messages for the contract. + + The code defines a type for the contract storage, which contains these values: + + - `administrators`: A list of accounts that are authorized to mint NFTs + - `ledger`: The ledger that keeps track of token ownership + - `metadata`: The metadata for the contract itself, based on the TZIP-16 standard for contract metadata + - `token_metadata`: The metadata for the tokens, based on the TZIP-12 standard for token metadata + - `operators`: Information about _operators_, accounts that are authorized to transfer tokens on behalf of the owners + + The code also defines the type for the value that entrypoints return: a list of operations and the new value of the storage. + +1. Add code to implement the required `transfer`, `balance_of`, and `update_operators` entrypoints: + + ```ligolang + @entry + const transfer = (p: FA2Impl.TZIP12.transfer, s: storage): ret => { + const ret2: [list, FA2Impl.NFT.storage] = + FA2Impl.NFT.transfer( + p, + { + ledger: s.ledger, + metadata: s.metadata, + token_metadata: s.token_metadata, + operators: s.operators, + } + ); + return [ + ret2[0], + { + ...s, + ledger: ret2[1].ledger, + metadata: ret2[1].metadata, + token_metadata: ret2[1].token_metadata, + operators: ret2[1].operators, + } + ] + }; + + @entry + const balance_of = (p: FA2Impl.TZIP12.balance_of, s: storage): ret => { + const ret2: [list, FA2Impl.NFT.storage] = + FA2Impl.NFT.balance_of( + p, + { + ledger: s.ledger, + metadata: s.metadata, + token_metadata: s.token_metadata, + operators: s.operators, + } + ); + return [ + ret2[0], + { + ...s, + ledger: ret2[1].ledger, + metadata: ret2[1].metadata, + token_metadata: ret2[1].token_metadata, + operators: ret2[1].operators, + } + ] + }; + + @entry + const update_operators = (p: FA2Impl.TZIP12.update_operators, s: storage): ret => { + const ret2: [list, FA2Impl.NFT.storage] = + FA2Impl.NFT.update_operators( + p, + { + ledger: s.ledger, + metadata: s.metadata, + token_metadata: s.token_metadata, + operators: s.operators, + } + ); + return [ + ret2[0], + { + ...s, + ledger: ret2[1].ledger, + metadata: ret2[1].metadata, + token_metadata: ret2[1].token_metadata, + operators: ret2[1].operators, + } + ] + }; + ``` + + You will add other entrypoints later, but these are the three entrypoints that every FA2 contract must have. + Because these required entrypoints must have specific parameters, the code re-uses types from the `FA2Impl` object for those parameters. + For example, the `FA2Impl.TZIP12.transfer` type represents the parameters for transferring tokens, including a source account and a list of target accounts, token types, and amounts. + + - The `transfer` entrypoint accepts information about the tokens to transfer. + This implementation uses the `FA2Impl.NFT.transfer` function from the template to avoid having to re-implement what happens when tokens are transferred. + + - The `balance_of` entrypoint sends information about an owner's token balance to another contract. + This implementation re-uses the `FA2Impl.NFT.balance_of` function. + + - The `update_operators` entrypoint updates the operators for a specified account. + This implementation re-uses the `FA2Impl.NFT.update_operators` function. + +1. After those entrypoints, add code for the `mint` entrypoint: + + ```ligolang + @entry + const mint = ( + [token_id, name, description, symbol, ipfsUrl]: [ + nat, + bytes, + bytes, + bytes, + bytes + ], + s: storage + ): ret => { + if (! Set.mem(Tezos.get_sender(), s.administrators)) return failwith("1"); + const token_info: map = + Map.literal( + list( + [ + ["name", name], + ["description", description], + ["interfaces", (bytes `["TZIP-12"]`)], + ["artifactUri", ipfsUrl], + ["displayUri", ipfsUrl], + ["thumbnailUri", ipfsUrl], + ["symbol", symbol], + ["decimals", (bytes `0`)] + ] + ) + ) as map; + return [ + list([]) as list, + { + ...s, + ledger: Big_map.add(token_id, Tezos.get_sender(), s.ledger) as + FA2Impl.NFT.ledger, + token_metadata: Big_map.add( + token_id, + { token_id: token_id, token_info: token_info }, + s.token_metadata + ), + operators: Big_map.empty as FA2Impl.NFT.operators, + } + ] + }; + ``` + + The FA2 standard does not require a mint entrypoint, but you can add one if you want to allow the contract to create more tokens after it is originated. + If you don't include a mint entrypoint or a way to create tokens, you must initialize the storage with all of the token information when you originate the contract. + This mint entrypoint accepts a name, description, symbol, and IPFS URL to an image. + It also accepts an ID number for the token, which the front end will manage; you could also set up the contract to remember the ID number for the next token. + + First, this code verifies that the transaction sender is one of the administrators. + Then it creates a token metadata object with information from the parameters and adds it to the `token_metadata` big-map in the storage. + Note that the `decimals` metadata field is set to 0 because the token is an NFT and therefore doesn't need any decimal places in its quantity. + + Note that there is no built-in way to get the number of tokens in the contract code; the big-map does not have a function such as `keys()` or `length()`. + If you want to keep track of the number of tokens, you must add an additional element in the storage and increment it when tokens are created or destroyed. + You can also get the number of tokens by analyzing the contract's storage from an off-chain application. + +1. Run one of these commands to accept or decline LIGO's analytics policy: + + - `ligo analytics accept` to send analytics data to LIGO + - `ligo analytics deny` to not send analytics data to LIGO + +1. Save the contract and compile it by running this command: + + ```bash + TAQ_LIGO_IMAGE=ligolang/ligo:1.1.0 taq compile nft.jsligo + ``` + + Taqueria compiles the contract to the file `artifacts/nft.tz`. + It also creates the file `nft.storageList.jsligo`, which contains the starting value of the contract storage. + +1. Open the file `contracts/nft.storageList.jsligo` and replace it with this code: + + ```ligolang + #import "nft.jsligo" "Contract" + + const default_storage : Contract.storage = { + administrators: Set.literal( + list(["tz1VSUr8wwNhLAzempoch5d6hLRiTh8Cjcjb" as address]) + ) as set
, + ledger: Big_map.empty as Contract.FA2Impl.NFT.ledger, + metadata: Big_map.literal( + list( + [ + ["", bytes `tezos-storage:data`], + [ + "data", + bytes + `{ + "name":"FA2 NFT Marketplace", + "description":"Example of FA2 implementation", + "version":"0.0.1", + "license":{"name":"MIT"}, + "authors":["Marigold"], + "homepage":"https://marigold.dev", + "source":{ + "tools":["Ligo"], + "location":"https://github.com/ligolang/contract-catalogue/tree/main/lib/fa2"}, + "interfaces":["TZIP-012"], + "errors": [], + "views": [] + }` + ] + ] + ) + ) as Contract.FA2Impl.TZIP16.metadata, + token_metadata: Big_map.empty as Contract.FA2Impl.TZIP12.tokenMetadata, + operators: Big_map.empty as Contract.FA2Impl.NFT.operators, + }; + ``` + + This code sets the initial value of the storage. + In this case, the storage includes metadata about the contract and empty big-maps for the ledger, token metadata, and operators. + It sets the test account Alice as the administrator, which is the only account that can mint tokens. + +1. Optional: Add your address as an administrator or replace Alice's address with your own. + Note that only the addresses in the `administrators` list will be able to create tokens. + +1. Compile the contract: + + ```bash + TAQ_LIGO_IMAGE=ligolang/ligo:1.1.0 taq compile nft.jsligo + ``` + +1. Use one of these options to set up a Ghostnet account to use to deploy (originate) the contract: + + - To use your own account, open the `.taq/config.local.testing.json` file and add your public key, address, and private key, so the file looks like this: + + ```json + { + "networkName": "ghostnet", + "accounts": { + "taqOperatorAccount": { + "publicKey": "edpkvGfYw3LyB1UcCahKQk4rF2tvbMUk8GFiTuMjL75uGXrpvKXhjn", + "publicKeyHash": "tz1VSUr8wwNhLAzempoch5d6hLRiTh8Cjcjb", + "privateKey": "edsk3QoqBuvdamxouPhin7swCvkQNgq4jP5KZPbwWNnwdZpSpJiEbq" + } + } + } + ``` + + Then make sure that the account has tez on Ghostnet. + Use the faucet at https://faucet.ghostnet.teztnets.xyz to get tez if you need it. + + - To let Taqueria generate an account for you, follow these steps: + + 1. Run the command `taq deploy nft.tz -e "testing"`, which will fail because you do not have an account configured in Taqueria. + The response includes the address of an account that Taqueria generated for you and added to the `.taq/config.local.testing.json` file automatically. + + 1. Fund the account from the faucet at https://faucet.ghostnet.teztnets.xyz. + +1. Compile and deploy the contract to Ghostnet by running this command: + + ```bash + taq deploy nft.tz -e "testing" + ``` + + Taqueria deploys the contract to Ghostnet and prints the address of the contract, as in this image: + + ![The output of the deployment command](/img/tutorials/taqueria-contract-deploy-result.png) + +Now the backend application is ready and you can start on the frontend application. + +## Creating the frontend application + +To save time, this tutorial provides a starter React application. + +1. In a folder outside of your Taqueria project, clone the source material by running this command: + + ```bash + git clone https://github.com/marigold-dev/training-nft-1.git + ``` + + This repository includes the starter application and the completed application that you can refer to later. + +1. In your Taqueria project, create a folder named `app` that is at the same level as the `contracts` folder. + +1. From the repository, copy the contents of the `reactboilerplateapp` folder to the `app` folder. + + For information about how this starter application was created, see the "Dapp" section of this tutorial: https://github.com/marigold-dev/training-dapp-1#construction_worker-dapp. + +1. From the root of your Taqueria project, run these commands to generate TypeScript types for the application: + + ```bash + taq install @taqueria/plugin-contract-types + taq generate types ./app/src + ``` + +1. If you are using a Mac, edit the default `dev` script in the `app/package.json` file to look like this: + + ```json + { + "scripts": { + "dev": "if test -f .env; then sed -i '' \"s/\\(VITE_CONTRACT_ADDRESS *= *\\).*/\\1$(jq -r 'last(.tasks[]).output[0].address' ../.taq/testing-state.json)/\" .env ; else jq -r '\"VITE_CONTRACT_ADDRESS=\" + last(.tasks[]).output[0].address' ../.taq/testing-state.json > .env ; fi && vite" + } + } + ``` + + This is required on Mac computers because the `sed` command behaves differently than on Unix computers. + +1. Run these commands to install the dependencies for the application and start it: + + ```bash + cd app + yarn install + yarn dev + ``` + + This application contains basic navigation and the ability to connect to wallets. + For a tutorial that includes connecting to wallets, see [Build your first app on Tezos](../build-your-first-app). + + Because Taqueria automatically keeps track of your deployed contract, the application automatically accesses the contract and shows that there are no NFTs in it yet. + The application looks like this: + + ![The starter NFT marketplace application, showing no NFTs and a button to connect to wallets](/img/tutorials/nft-marketplace-starter.png) + +## Adding a mint page + +The mint page uses a form that accepts information and an image and sends a transaction to the mint entrypoint: + +1. Open the file `./app/src/MintPage.tsx`. + +1. Replace the return value of the function (the `` tag) with the following code: + + ```html + + + {storage ? ( + + ) : ( + "" + )} + + + + + +
+ + Mint a new collection + + + + + + + {pictureUrl ? ( + + ) : ( + "" + )} + + + + +
+
+
+ + + Mint your wine collection + + {nftContratTokenMetadataMap.size != 0 ? ( + "//TODO" + ) : ( + + Sorry, there is not NFT yet, you need to mint bottles first + + )} +
+ ``` + + You may see errors in your IDE for missing code and imports that you will add later. + + This code shows an HTML form if the connected wallet is an administrator. + The form includes fields for a new NFT, including a button to upload an image. + +1. Inside the `MintPage` function, immediately before the `return` statement, add this [Formik](https://formik.org/) form to manage the form: + + ```typescript + const validationSchema = yup.object({ + name: yup.string().required("Name is required"), + description: yup.string().required("Description is required"), + symbol: yup.string().required("Symbol is required"), + }); + + const formik = useFormik({ + initialValues: { + name: "", + description: "", + token_id: 0, + symbol: "WINE", + } as TZIP21TokenMetadata, + validationSchema: validationSchema, + onSubmit: (values) => { + mint(values); + }, + }); + ``` + +1. After this code, add state variables for the image and its URL: + + ```typescript + const [pictureUrl, setPictureUrl] = useState(""); + const [file, setFile] = useState(null); + ``` + +1. Add this code to manage a drawer that appears to show the form: + + ```typescript + //open mint drawer if admin + const [formOpen, setFormOpen] = useState(false); + + useEffect(() => { + if (storage && storage.administrators.indexOf(userAddress! as address) < 0) + setFormOpen(false); + else setFormOpen(true); + }, [userAddress]); + + const toggleDrawer = + (open: boolean) => (event: React.KeyboardEvent | React.MouseEvent) => { + if ( + event.type === "keydown" && + ((event as React.KeyboardEvent).key === "Tab" || + (event as React.KeyboardEvent).key === "Shift") + ) { + return; + } + setFormOpen(open); + }; + ``` + +1. Add this `mint` function: + + ```typescript + const { enqueueSnackbar } = useSnackbar(); + + const mint = async (newTokenDefinition: TZIP21TokenMetadata) => { + try { + //IPFS + if (file) { + const formData = new FormData(); + formData.append("file", file); + + const requestHeaders: HeadersInit = new Headers(); + requestHeaders.set( + "pinata_api_key", + `${import.meta.env.VITE_PINATA_API_KEY}` + ); + requestHeaders.set( + "pinata_secret_api_key", + `${import.meta.env.VITE_PINATA_API_SECRET}` + ); + + const resFile = await fetch( + "https://api.pinata.cloud/pinning/pinFileToIPFS", + { + method: "post", + body: formData, + headers: requestHeaders, + } + ); + + const responseJson = await resFile.json(); + console.log("responseJson", responseJson); + + const thumbnailUri = `ipfs://${responseJson.IpfsHash}`; + setPictureUrl( + `https://gateway.pinata.cloud/ipfs/${responseJson.IpfsHash}` + ); + + const op = await nftContrat!.methods + .mint( + new BigNumber(newTokenDefinition.token_id) as nat, + char2Bytes(newTokenDefinition.name!) as bytes, + char2Bytes(newTokenDefinition.description!) as bytes, + char2Bytes(newTokenDefinition.symbol!) as bytes, + char2Bytes(thumbnailUri) as bytes + ) + .send(); + + //close directly the form + setFormOpen(false); + enqueueSnackbar( + "Wine collection is minting ... it will be ready on next block, wait for the confirmation message before minting another collection", + { variant: "info" } + ); + + await op.confirmation(2); + + enqueueSnackbar("Wine collection minted", { variant: "success" }); + + refreshUserContextOnPageReload(); //force all app to refresh the context + } + } catch (error) { + console.table(`Error: ${JSON.stringify(error, null, 2)}`); + let tibe: TransactionInvalidBeaconError = + new TransactionInvalidBeaconError(error); + enqueueSnackbar(tibe.data_message, { + variant: "error", + autoHideDuration: 10000, + }); + } + }; + ``` + + This function accepts the data that the user puts in the form. + It uploads the image to IPFS via Pinata and gets the IPFS hash, which identifies the published file and allows clients to request it later. + + Then it calls the contract's `mint` entrypoint and passes the NFT data as bytes, as the TZIP-12 standard requires for NFT metadata. + +1. Add code to set the ID for the next NFT based on the number of tokens currently in the contract: + + ```typescript + useEffect(() => { + (async () => { + if (nftContratTokenMetadataMap && nftContratTokenMetadataMap.size > 0) { + formik.setFieldValue("token_id", nftContratTokenMetadataMap.size); + } + })(); + }, [nftContratTokenMetadataMap?.size]); + ``` + +1. Replace the imports at the top of the file with these imports: + + ```typescript + import { AddCircleOutlined, Close } from "@mui/icons-material"; + import OpenWithIcon from "@mui/icons-material/OpenWith"; + import { + Box, + Button, + Stack, + SwipeableDrawer, + TextField, + Toolbar, + useMediaQuery, + } from "@mui/material"; + import Paper from "@mui/material/Paper"; + import Typography from "@mui/material/Typography"; + import { useFormik } from "formik"; + import React, { useEffect, useState } from "react"; + import * as yup from "yup"; + import { TZIP21TokenMetadata, UserContext, UserContextType } from "./App"; + import { useSnackbar } from "notistack"; + import { BigNumber } from "bignumber.js"; + import { address, bytes, nat } from "./type-aliases"; + import { char2Bytes } from "@taquito/utils"; + import { TransactionInvalidBeaconError } from "./TransactionInvalidBeaconError"; + ``` + +1. Save the file. + + For the complete content of the mint page, see the completed part 1 app at https://github.com/marigold-dev/training-nft-1. + +1. In the file `app/.env`, replace the default `VITE_PINATA_API_KEY` and `VITE_PINATA_API_SECRET` values with your Pinata API key and API secret. + If you don't have a Pinata API key, see the [Configure IPFS storage](../create-an-nft/nft-taquito#configure-ipfs-storage) section of the tutorial [Create a contract and web app that mints NFTs](../create-an-nft/nft-taquito). + +Now the form has a working mint page. +In the next section, you use it to mint NFTs. + +## Minting NFTs + +Mint at least one NFT so you can see it in the site and contract: + +1. Open the site by going to http://localhost:5173 in your web browser. + If the site isn't running, go to the `app` folder and run `yarn dev`. + +1. Connect the administrator's wallet to the application. + + The app goes to the `/mint` page, which looks like this: + + ![The mint page, showing the form to create tokens](/img/tutorials/nft-marketplace-1-mint-form.png) + +1. Enter information about a bottle of wine. + + For example, you can use this information: + + - `name`: Saint Emilion - Franc la Rose + - `symbol`: SEMIL + - `description`: Grand cru 2007 + +1. Upload a picture to represent a bottle of wine. + +1. Click **Mint**. + +1. Approve the transaction in your wallet and wait for it to complete. + + ![Waiting for confirmation that the NFT was minted](/img/tutorials/nft-marketplace-1-minting.png) + +When the NFT has been minted, the application updates the UI but it does not have code to show the NFTs yet. +You can see the NFT by getting the contract address, which starts with `KT1`, from the `config.local.testing.json` file and looking it up in a block explorer. + +For example, this is how https://ghostnet.tzkt.io/ shows the tokens in the contract, on the "Tokens" tab. +Because the contract is FA2-compatible, the block explorer automatically shows information about the tokens: + +![The TzKT block explorer, showing the token in the contract](/img/tutorials/nft-marketplace-1-tzkt-token.png) + +Now the application can mint NFTs. +In the next section, you display the NFTs on a catalog page. + +## Displaying tokens + +Follow these steps to show the tokens that you have minted: + +1. In the `MintPage.tsx` file, replace the `"//TODO"` comment with this code: + + ```typescript + + + {Array.from(nftContratTokenMetadataMap!.entries()).map( + ([token_id, token]) => ( + + + + + + + + {"ID : " + token_id} + {"Symbol : " + token.symbol} + {"Description : " + token.description} + + + + ) + )} + + + Next + + + } + backButton={ + + } + /> + + ``` + + This code gets data from the contract storage and shows it on the UI. + +1. Add these constants in the `MintPage` function: + + ```typescript + const [activeStep, setActiveStep] = React.useState(0); + + const handleNext = () => { + setActiveStep((prevActiveStep) => prevActiveStep + 1); + }; + + const handleBack = () => { + setActiveStep((prevActiveStep) => prevActiveStep - 1); + }; + + const handleStepChange = (step: number) => { + setActiveStep(step); + }; + ``` + +1. Replace the imports at the top of the file with these imports: + + ```typescript + import SwipeableViews from "react-swipeable-views"; + import OpenWithIcon from "@mui/icons-material/OpenWith"; + import { + Box, + Button, + CardHeader, + CardMedia, + MobileStepper, + Stack, + SwipeableDrawer, + TextField, + Toolbar, + useMediaQuery, + } from "@mui/material"; + import Card from "@mui/material/Card"; + import CardContent from "@mui/material/CardContent"; + import { + AddCircleOutlined, + Close, + KeyboardArrowLeft, + KeyboardArrowRight, + } from "@mui/icons-material"; + import Paper from "@mui/material/Paper"; + import Typography from "@mui/material/Typography"; + import { useFormik } from "formik"; + import React, { useEffect, useState } from "react"; + import * as yup from "yup"; + import { TZIP21TokenMetadata, UserContext, UserContextType } from "./App"; + import { useSnackbar } from "notistack"; + import { BigNumber } from "bignumber.js"; + import { address, bytes, nat } from "./type-aliases"; + import { char2Bytes } from "@taquito/utils"; + import { TransactionInvalidBeaconError } from "./TransactionInvalidBeaconError"; + ``` + +1. Open the web page in the browser again and see that the NFT you created is shown, as in this picture: + +![The mint page, showing one existing NFT](/img/tutorials/nft-marketplace-1-collection.png) + +## Summary + +Now you can create FA2-compatible NFTs with the `@ligo/fa` library and show them on a web page. + +In the next section, you add the buy and sell functions to smart contract and update the frontend application to allow these actions. + +When you are ready, continue to [Part 2: Buying and selling tokens](./part-2). diff --git a/docs/tutorials/build-an-nft-marketplace/part-2.md b/docs/tutorials/build-an-nft-marketplace/part-2.md index cb66ff2fb..8ba3a96e1 100644 --- a/docs/tutorials/build-an-nft-marketplace/part-2.md +++ b/docs/tutorials/build-an-nft-marketplace/part-2.md @@ -1,18 +1,14 @@ --- -title: NFT Marketplace Part 2 +title: "Part 2: Buying and selling tokens" last_update: - date: 11 October 2023 + date: 8 November 2023 --- -## Introduction +In this section, you give users the ability to list a bottle for sale and buy bottles that are listed for sale. -![https://img.etimg.com/thumb/msid-71286763,width-1070,height-580,overlay-economictimes/photo.jpg](https://img.etimg.com/thumb/msid-71286763,width-1070,height-580,overlay-economictimes/photo.jpg) +You can continue from your code from part 1 or start from the completed version here: https://github.com/marigold-dev/training-nft-1/tree/main/solution. -This time, buy and sell an NFT feature is added ! - -Keep your code from the previous lesson or get the solution [here](https://github.com/marigold-dev/training-nft-1/tree/main/solution) - -> If you clone/fork a repo, rebuild locally +If you start from the completed version, run these commands to install dependencies for the web application: ```bash npm i @@ -21,841 +17,824 @@ yarn install cd .. ``` -## Smart contract - -Add the following code sections on your `nft.jsligo` smart contract - -Add offer type - -```ligolang -export type offer = { - owner : address, - price : nat -}; -``` - -Add `offers` field to storage, it should look like this below : - -```ligolang -export type storage = { - administrators: set
, - offers: map, //user sells an offer - ledger: FA2Impl.NFT.ledger, - metadata: FA2Impl.TZIP16.metadata, - token_metadata: FA2Impl.TZIP12.tokenMetadata, - operators: FA2Impl.NFT.operators -}; -``` - -Explanation: - -- an `offer` is an NFT _(owned by someone)_ with a price -- `storage` has a new field to store `offers`: a `map` of offers - -Update the initial storage on file `nft.storageList.jsligo` to initialize `offers` field. Here is what it should look like : - -```ligolang -#import "nft.jsligo" "Contract" - -const default_storage : Contract.storage = { - administrators: Set.literal( - list(["tz1VSUr8wwNhLAzempoch5d6hLRiTh8Cjcjb" as address]) - ) as set
, - offers: Map.empty as map, - ledger: Big_map.empty as Contract.FA2Impl.NFT.ledger, - metadata: Big_map.literal( - list( - [ - ["", bytes `tezos-storage:data`], - [ - "data", - bytes - `{ - "name":"FA2 NFT Marketplace", - "description":"Example of FA2 implementation", - "version":"0.0.1", - "license":{"name":"MIT"}, - "authors":["Marigold"], - "homepage":"https://marigold.dev", - "source":{ - "tools":["Ligo"], - "location":"https://github.com/ligolang/contract-catalogue/tree/main/lib/fa2"}, - "interfaces":["TZIP-012"], - "errors": [], - "views": [] - }` - ] - ] - ) - ) as Contract.FA2Impl.TZIP16.metadata, - token_metadata: Big_map.empty as Contract.FA2Impl.TZIP12.tokenMetadata, - operators: Big_map.empty as Contract.FA2Impl.NFT.operators, -}; -``` - -Finally, compile the contract - -```bash -TAQ_LIGO_IMAGE=ligolang/ligo:1.0.0 taq compile nft.jsligo -``` - -### Sell at an offer price - -Define the `sell` function as below: - -```ligolang -@entry -const sell = ([token_id, price]: [nat, nat], s: storage): ret => { - //check balance of seller - - const sellerBalance = - FA2Impl.NFT.get_balance( - [Tezos.get_source(), token_id], - { - ledger: s.ledger, - metadata: s.metadata, - operators: s.operators, - token_metadata: s.token_metadata, - } - ); - if (sellerBalance != (1 as nat)) return failwith("2"); - //need to allow the contract itself to be an operator on behalf of the seller - - const newOperators = - FA2Impl.Sidecar.add_operator( - s.operators, - Tezos.get_source(), - Tezos.get_self_address(), - token_id - ); - //DECISION CHOICE: if offer already exists, we just override it - - return [ - list([]) as list, - { - ...s, - offers: Map.add( - token_id, - { owner: Tezos.get_source(), price: price }, - s.offers - ), - operators: newOperators - } - ] -}; -``` - -Explanation: - -- User must have enough tokens _(wine bottles)_ to place an offer -- the seller will set the NFT marketplace smart contract as an operator. When the buyer sends his money to buy the NFT, the smart contract will change the NFT ownership _(it is not interactive with the seller, the martketplace will do it on behalf of the seller based on the offer data)_ -- `storage` is updated with `offer` field - -### Buy a bottle on the marketplace - -Now that there are offers available on the marketplace, let's buy bottles! - -Edit the smart contract to add the `buy` feature - -```ligolang -@entry -const buy = ([token_id, seller]: [nat, address], s: storage): ret => { - //search for the offer - - return match(Map.find_opt(token_id, s.offers)) { - when (None()): - failwith("3") - when (Some(offer)): - do { - //check if amount have been paid enough - - if (Tezos.get_amount() < offer.price * (1 as mutez)) return failwith( - "5" - ); - // prepare transfer of XTZ to seller - - const op = - Tezos.transaction( - unit, - offer.price * (1 as mutez), - Tezos.get_contract_with_error(seller, "6") - ); - //transfer tokens from seller to buyer - - const ledger = - FA2Impl.Sidecar.transfer_token_from_user_to_user( - s.ledger, - token_id, - seller, - Tezos.get_source() - ); - //remove offer - - return [ - list([op]) as list, - { - ...s, offers: Map.update(token_id, None(), s.offers), ledger: ledger - } - ] - } - } -}; -``` - -Explanation: - -- search for the offer based on the `token_id` or return an error if it does not exist -- check that the amount sent by the buyer is greater than the offer price. If it is ok, transfer the offer price to the seller and transfer the NFT to the buyer -- remove the offer as it has been executed - -### Compile and deploy - -Smart contract implementation of this second training is finished, let's deploy to ghostnet. - -```bash -TAQ_LIGO_IMAGE=ligolang/ligo:1.0.0 taq compile nft.jsligo -taq deploy nft.tz -e "testing" -``` - -```logs -┌──────────┬──────────────────────────────────────┬───────┬──────────────────┬────────────────────────────────┐ -│ Contract │ Address │ Alias │ Balance In Mutez │ Destination │ -├──────────┼──────────────────────────────────────┼───────┼──────────────────┼────────────────────────────────┤ -│ nft.tz │ KT1KyV1Hprert33AAz5B94CLkqAHdKZU56dq │ nft │ 0 │ https://ghostnet.ecadinfra.com │ -└──────────┴──────────────────────────────────────┴───────┴──────────────────┴────────────────────────────────┘ -``` - -**Smart contract (backend) is implmented and deployed!** - -## NFT Marketplace front - -Generate Typescript classes and go to the frontend to run the server - -```bash -taq generate types ./app/src -cd ./app -yarn install -yarn dev -``` - -## Sale page - -Edit Sale Page on `./src/OffersPage.tsx` - -Add this code inside the file : - -```typescript -import { InfoOutlined } from "@mui/icons-material"; -import SellIcon from "@mui/icons-material/Sell"; - -import * as api from "@tzkt/sdk-api"; - -import { - Box, - Button, - Card, - CardActions, - CardContent, - CardHeader, - CardMedia, - ImageList, - InputAdornment, - Pagination, - TextField, - Tooltip, - Typography, - useMediaQuery, -} from "@mui/material"; -import Paper from "@mui/material/Paper"; -import BigNumber from "bignumber.js"; -import { useFormik } from "formik"; -import { useSnackbar } from "notistack"; -import React, { Fragment, useEffect, useState } from "react"; -import * as yup from "yup"; -import { UserContext, UserContextType } from "./App"; -import ConnectButton from "./ConnectWallet"; -import { TransactionInvalidBeaconError } from "./TransactionInvalidBeaconError"; -import { address, nat } from "./type-aliases"; - -const itemPerPage: number = 6; - -const validationSchema = yup.object({ - price: yup - .number() - .required("Price is required") - .positive("ERROR: The number must be greater than 0!"), -}); - -type Offer = { - owner: address; - price: nat; -}; - -export default function OffersPage() { - api.defaults.baseUrl = "https://api.ghostnet.tzkt.io"; - - const [selectedTokenId, setSelectedTokenId] = React.useState(0); - const [currentPageIndex, setCurrentPageIndex] = useState(1); - - let [offersTokenIDMap, setOffersTokenIDMap] = React.useState< - Map - >(new Map()); - let [ownerTokenIds, setOwnerTokenIds] = React.useState>( - new Set() - ); - - const { - nftContrat, - nftContratTokenMetadataMap, - userAddress, - storage, - refreshUserContextOnPageReload, - Tezos, - setUserAddress, - setUserBalance, - wallet, - } = React.useContext(UserContext) as UserContextType; - - const { enqueueSnackbar } = useSnackbar(); - - const formik = useFormik({ - initialValues: { - price: 0, - }, - validationSchema: validationSchema, - onSubmit: (values) => { - console.log("onSubmit: (values)", values, selectedTokenId); - sell(selectedTokenId, values.price); - }, - }); - - const initPage = async () => { - if (storage) { - console.log("context is not empty, init page now"); - ownerTokenIds = new Set(); - offersTokenIDMap = new Map(); - - const token_metadataBigMapId = ( - storage.token_metadata as unknown as { id: BigNumber } - ).id.toNumber(); - - const token_ids = await api.bigMapsGetKeys(token_metadataBigMapId, { - micheline: "Json", - active: true, - }); - - await Promise.all( - token_ids.map(async (token_idKey) => { - const token_idNat = new BigNumber(token_idKey.key) as nat; - - let owner = await storage.ledger.get(token_idNat); - if (owner === userAddress) { - ownerTokenIds.add(token_idKey.key); - - const ownerOffers = await storage.offers.get(token_idNat); - if (ownerOffers) offersTokenIDMap.set(token_idKey.key, ownerOffers); - - console.log( - "found for " + - owner + - " on token_id " + - token_idKey.key + - " with balance " + - 1 - ); - } else { - console.log("skip to next token id"); - } - }) - ); - setOwnerTokenIds(new Set(ownerTokenIds)); //force refresh - setOffersTokenIDMap(new Map(offersTokenIDMap)); //force refresh - } else { - console.log("context is empty, wait for parent and retry ..."); - } - }; - - useEffect(() => { - (async () => { - console.log("after a storage changed"); - await initPage(); - })(); - }, [storage]); - - useEffect(() => { - (async () => { - console.log("on Page init"); - await initPage(); - })(); - }, []); - - const sell = async (token_id: number, price: number) => { - try { - const op = await nftContrat?.methods - .sell( - BigNumber(token_id) as nat, - BigNumber(price * 1000000) as nat //to mutez - ) - .send(); - - await op?.confirmation(2); - - enqueueSnackbar( - "Wine collection (token_id=" + - token_id + - ") offer for " + - 1 + - " units at price of " + - price + - " XTZ", - { variant: "success" } - ); - - refreshUserContextOnPageReload(); //force all app to refresh the context - } catch (error) { - console.table(`Error: ${JSON.stringify(error, null, 2)}`); - let tibe: TransactionInvalidBeaconError = - new TransactionInvalidBeaconError(error); - enqueueSnackbar(tibe.data_message, { - variant: "error", - autoHideDuration: 10000, - }); - } - }; - - const isDesktop = useMediaQuery("(min-width:1100px)"); - const isTablet = useMediaQuery("(min-width:600px)"); - - return ( - - - Sell my bottles - - {ownerTokenIds && ownerTokenIds.size != 0 ? ( - - setCurrentPageIndex(value)} - count={Math.ceil( - Array.from(ownerTokenIds.entries()).length / itemPerPage - )} - showFirstButton - showLastButton - /> - - - {Array.from(ownerTokenIds.entries()) - .filter((_, index) => - index >= currentPageIndex * itemPerPage - itemPerPage && - index < currentPageIndex * itemPerPage - ? true - : false - ) - .map(([token_id]) => ( - - - - {" "} - {"ID : " + token_id.toString()}{" "} - - - {"Description : " + - nftContratTokenMetadataMap.get(token_id) - ?.description} - - - } - > - - - } - title={nftContratTokenMetadataMap.get(token_id)?.name} - /> - - - - - - {offersTokenIDMap.get(token_id) - ? "Traded : " + - 1 + - " (price : " + - offersTokenIDMap - .get(token_id) - ?.price.dividedBy(1000000) + - " Tz)" - : ""} - - - - - - {!userAddress ? ( - - - - ) : ( -
{ - setSelectedTokenId(Number(token_id)); - formik.handleSubmit(values); - }} - > - - - - - ), - }} - /> - -
- )} -
-
- ))}{" "} -
-
- ) : ( - - Sorry, you don't own any bottles, buy or mint some first - - )} -
- ); -} -``` - -Explanation : - -- the template displays all owned NFTs. Only NFTs belonging to the logged user are selected -- for each NFT, there is a form to make an offer at a price -- if you do an offer, it calls the `sell` function and the smart contract entrypoint `nftContrat?.methods.sell(BigNumber(token_id) as nat,BigNumber(price * 1000000) as nat).send()`. Multiply the XTZ price by 10^6 because the smart contract manipulates mutez. - -## Let's play : Sell - -- Connect with your wallet and choose **alice** account (or one of the administrators you set on the smart contract earlier). You are redirected to the Administration /mint page as there is no NFT minted yet -- Enter these values on the form for example : - - `name`: Saint Emilion - Franc la Rose - - `symbol`: SEMIL - - `description`: Grand cru 2007 -- Click on **Upload an image** and select a bottle picture on your computer -- Click on the Mint button - -Your picture is pushed to IPFS and displayed, then your wallet ask you to sign the mint operation. - -5. Now, go to the **Trading** menu and the **Sell bottles** submenu. - -6. Click on the submenu entry - -![sell.png](/img/tutorials/sell.png) - -You are the owner of this bottle so you can create an offer to sell it. - -- Enter a price offer -- Click on **SELL** button -- Wait a bit for the confirmation, then after auto-refresh you have an offer for this NFT - -## Wine Catalogue page - -Edit the Wine Catalogue page on `./src/WineCataloguePage.tsx` - -Add the following code inside the file - -```typescript -import { InfoOutlined } from "@mui/icons-material"; -import ShoppingCartIcon from "@mui/icons-material/ShoppingCart"; -import { - Box, - Button, - Card, - CardActions, - CardContent, - CardHeader, - CardMedia, - ImageList, - Pagination, - Tooltip, - useMediaQuery, -} from "@mui/material"; -import Paper from "@mui/material/Paper"; -import Typography from "@mui/material/Typography"; - -import BigNumber from "bignumber.js"; -import { useFormik } from "formik"; -import { useSnackbar } from "notistack"; -import React, { Fragment, useState } from "react"; -import * as yup from "yup"; -import { UserContext, UserContextType } from "./App"; -import ConnectButton from "./ConnectWallet"; -import { TransactionInvalidBeaconError } from "./TransactionInvalidBeaconError"; -import { address, nat } from "./type-aliases"; - -const itemPerPage: number = 6; - -type OfferEntry = [nat, Offer]; - -type Offer = { - owner: address; - price: nat; -}; - -const validationSchema = yup.object({}); - -export default function WineCataloguePage() { - const { - Tezos, - nftContratTokenMetadataMap, - setUserAddress, - setUserBalance, - wallet, - userAddress, - nftContrat, - refreshUserContextOnPageReload, - storage, - } = React.useContext(UserContext) as UserContextType; - const [selectedOfferEntry, setSelectedOfferEntry] = - React.useState(null); - - const formik = useFormik({ - initialValues: { - quantity: 1, - }, - validationSchema: validationSchema, - onSubmit: (values) => { - console.log("onSubmit: (values)", values, selectedOfferEntry); - buy(selectedOfferEntry!); - }, - }); - const { enqueueSnackbar } = useSnackbar(); - const [currentPageIndex, setCurrentPageIndex] = useState(1); - - const buy = async (selectedOfferEntry: OfferEntry) => { - try { - const op = await nftContrat?.methods - .buy( - BigNumber(selectedOfferEntry[0]) as nat, - selectedOfferEntry[1].owner - ) - .send({ - amount: selectedOfferEntry[1].price.toNumber(), - mutez: true, - }); - - await op?.confirmation(2); - - enqueueSnackbar( - "Bought " + - 1 + - " unit of Wine collection (token_id:" + - selectedOfferEntry[0] + - ")", - { - variant: "success", - } - ); - - refreshUserContextOnPageReload(); //force all app to refresh the context - } catch (error) { - console.table(`Error: ${JSON.stringify(error, null, 2)}`); - let tibe: TransactionInvalidBeaconError = - new TransactionInvalidBeaconError(error); - enqueueSnackbar(tibe.data_message, { - variant: "error", - autoHideDuration: 10000, - }); - } - }; - const isDesktop = useMediaQuery("(min-width:1100px)"); - const isTablet = useMediaQuery("(min-width:600px)"); - return ( - - - Wine catalogue - - - {storage?.offers && storage?.offers.size != 0 ? ( - - setCurrentPageIndex(value)} - count={Math.ceil( - Array.from(storage?.offers.entries()).length / itemPerPage - )} - showFirstButton - showLastButton - /> - - {Array.from(storage?.offers.entries()) - - .filter((_, index) => - index >= currentPageIndex * itemPerPage - itemPerPage && - index < currentPageIndex * itemPerPage - ? true - : false +## Updating the smart contract + +To allow users to buy and sell tokens, the contract must have entrypoints that allow users to offer a token for sale and to buy a token that is offered for sale. +The contract storage must store the tokens that are offered for sale and their prices. + +1. Update the contract storage to store the tokens that are offered for sale: + + 1. In the `nft.jsligo` file, before the definition of the `storage` type, add a type that represents a token that is offered for sale: + + ```ligolang + export type offer = { + owner : address, + price : nat + }; + ``` + + 1. Add a map named `offers` that maps token IDs to their offer prices to the `storage` type. + Now the `storage` type looks like this: + + ```ligolang + export type storage = { + administrators: set
, + offers: map, //user sells an offer + ledger: FA2Impl.NFT.ledger, + metadata: FA2Impl.TZIP16.metadata, + token_metadata: FA2Impl.TZIP12.tokenMetadata, + operators: FA2Impl.NFT.operators + }; + ``` + + 1. In the `nft.storageList.jsligo` file, add an empty map for the offers by adding this code: + + ```ligolang + offers: Map.empty as map, + ``` + + Now the `nft.storageList.jsligo` file looks like this: + + ```ligolang + #import "nft.jsligo" "Contract" + + const default_storage : Contract.storage = { + administrators: Set.literal( + list(["tz1VSUr8wwNhLAzempoch5d6hLRiTh8Cjcjb" as address]) + ) as set
, + offers: Map.empty as map, + ledger: Big_map.empty as Contract.FA2Impl.NFT.ledger, + metadata: Big_map.literal( + list( + [ + ["", bytes `tezos-storage:data`], + [ + "data", + bytes + `{ + "name":"FA2 NFT Marketplace", + "description":"Example of FA2 implementation", + "version":"0.0.1", + "license":{"name":"MIT"}, + "authors":["Marigold"], + "homepage":"https://marigold.dev", + "source":{ + "tools":["Ligo"], + "location":"https://github.com/ligolang/contract-catalogue/tree/main/lib/fa2"}, + "interfaces":["TZIP-012"], + "errors": [], + "views": [] + }` + ] + ] ) - .map(([token_id, offer]) => ( - - - - {" "} - {"ID : " + token_id.toString()}{" "} - - - {"Description : " + - nftContratTokenMetadataMap.get( - token_id.toString() - )?.description} - - - {"Seller : " + offer.owner}{" "} - - - } - > - - - } - title={ - nftContratTokenMetadataMap.get(token_id.toString())?.name - } - /> - - - - - - {" "} - {"Price : " + offer.price.dividedBy(1000000) + " XTZ"} - - - - - - {!userAddress ? ( - - - - ) : ( -
{ - setSelectedOfferEntry([token_id, offer]); - formik.handleSubmit(values); - }} - > - -
- )} -
-
- ))} - - - ) : ( - - Sorry, there is not NFT to buy yet, you need to mint or sell bottles - first - - )} - - ); -} -``` - -## Buy some wine! - -Now you can see on **Trading** menu the **Wine catalogue** submenu, click on it. - -![buy.png](/img/tutorials/buy.png) - -As you are connected with the default administrator you can see your own unique offer on the market - -- Disconnect from your user and connect with another account that has enough tez to buy the bottle -- The buyer can see that Alice is selling a bottle -- Buy the bottle by clicking on the **BUY** button -- Once confirmed, the offer is removed from the market -- Click on **Sell bottle** sub menu -- You are now the owner of this bottle, you can resell it at your own price, etc ... - -## Conclusion - -You created an NFT collection marketplace from the Ligo library, now you can buy and sell NFTs at your own price. -This concludes the NFT training! - -In the next lesson, you will see another kind of NFT called **single asset**. Instead of creating _X_ token types, you will be allowed to create only 1 token*id 0, on the other side, you can mint a quantity \_n* of this token. - -To continue, let's go to [Part 3](./part-3). + ) as Contract.FA2Impl.TZIP16.metadata, + token_metadata: Big_map.empty as Contract.FA2Impl.TZIP12.tokenMetadata, + operators: Big_map.empty as Contract.FA2Impl.NFT.operators, + }; + ``` + +1. As you did in the previous step, make sure that the administrators in the `nft.storageList.jsligo` file includes an address that you can use to mint tokens. + +1. In the `nft.jsligo` file, add a `sell` entrypoint that creates an offer for a token that the sender owns: + + ```ligolang + @entry + const sell = ([token_id, price]: [nat, nat], s: storage): ret => { + //check balance of seller + + const sellerBalance = + FA2Impl.NFT.get_balance( + [Tezos.get_source(), token_id], + { + ledger: s.ledger, + metadata: s.metadata, + operators: s.operators, + token_metadata: s.token_metadata, + } + ); + if (sellerBalance != (1 as nat)) return failwith("2"); + //need to allow the contract itself to be an operator on behalf of the seller + + const newOperators = + FA2Impl.NFT.add_operator( + s.operators, + Tezos.get_source(), + Tezos.get_self_address(), + token_id + ); + //DECISION CHOICE: if offer already exists, we just override it + + return [ + list([]) as list, + { + ...s, + offers: Map.add( + token_id, + { owner: Tezos.get_source(), price: price }, + s.offers + ), + operators: newOperators + } + ] + }; + ``` + + This function accepts the ID of the token and the selling price as parameters. + It verifies that the transaction sender owns the token. + Then it adds the contract itself as an operator of the token, which allows it to transfer the token without getting permission from the seller later. + Finally, it adds the offer and updated operators to the storage. + +1. Add a `buy` entrypoint: + + ```ligolang + @entry + const buy = ([token_id, seller]: [nat, address], s: storage): ret => { + //search for the offer + + return match(Map.find_opt(token_id, s.offers)) { + when (None()): + failwith("3") + when (Some(offer)): + do { + //check if amount have been paid enough + + if (Tezos.get_amount() < offer.price * (1 as mutez)) return failwith( + "5" + ); + // prepare transfer of XTZ to seller + + const op = + Tezos.transaction( + unit, + offer.price * (1 as mutez), + Tezos.get_contract_with_error(seller, "6") + ); + //transfer tokens from seller to buyer + + const ledger = + FA2Impl.NFT.transfer_token_from_user_to_user( + s.ledger, + token_id, + seller, + Tezos.get_source() + ); + //remove offer + + return [ + list([op]) as list, + { + ...s, offers: Map.update(token_id, None(), s.offers), ledger: ledger + } + ] + } + } + }; + ``` + + This entrypoint accepts the token ID and seller as parameters. + It retrieves the offer from storage and verifies that the transaction sender sent enough tez to satisfy the offer price. + Then it transfers the token to the buyer, transfers the sale price to the seller, and removes the offer from storage. + +1. Compile and deploy the new contract: + + ```bash + TAQ_LIGO_IMAGE=ligolang/ligo:1.1.0 taq compile nft.jsligo + taq deploy nft.tz -e "testing" + ``` + +## Adding a selling page to the web application + +1. Stop the web application if it is running. + +1. Generate the TypeScript classes and start the server: + + ```bash + taq generate types ./app/src + cd ./app + yarn dev + ``` + +1. Open the sale page in the `./src/OffersPage.tsx` file and replace it with this code: + + ```typescript + import { InfoOutlined } from "@mui/icons-material"; + import SellIcon from "@mui/icons-material/Sell"; + + import * as api from "@tzkt/sdk-api"; + + import { + Box, + Button, + Card, + CardActions, + CardContent, + CardHeader, + CardMedia, + ImageList, + InputAdornment, + Pagination, + TextField, + Tooltip, + Typography, + useMediaQuery, + } from "@mui/material"; + import Paper from "@mui/material/Paper"; + import BigNumber from "bignumber.js"; + import { useFormik } from "formik"; + import { useSnackbar } from "notistack"; + import React, { Fragment, useEffect, useState } from "react"; + import * as yup from "yup"; + import { UserContext, UserContextType } from "./App"; + import ConnectButton from "./ConnectWallet"; + import { TransactionInvalidBeaconError } from "./TransactionInvalidBeaconError"; + import { address, nat } from "./type-aliases"; + + const itemPerPage: number = 6; + + const validationSchema = yup.object({ + price: yup + .number() + .required("Price is required") + .positive("ERROR: The number must be greater than 0!"), + }); + + type Offer = { + owner: address; + price: nat; + }; + + export default function OffersPage() { + api.defaults.baseUrl = "https://api.ghostnet.tzkt.io"; + + const [selectedTokenId, setSelectedTokenId] = React.useState(0); + const [currentPageIndex, setCurrentPageIndex] = useState(1); + + let [offersTokenIDMap, setOffersTokenIDMap] = React.useState< + Map + >(new Map()); + let [ownerTokenIds, setOwnerTokenIds] = React.useState>( + new Set() + ); + + const { + nftContrat, + nftContratTokenMetadataMap, + userAddress, + storage, + refreshUserContextOnPageReload, + Tezos, + setUserAddress, + setUserBalance, + wallet, + } = React.useContext(UserContext) as UserContextType; + + const { enqueueSnackbar } = useSnackbar(); + + const formik = useFormik({ + initialValues: { + price: 0, + }, + validationSchema: validationSchema, + onSubmit: (values) => { + console.log("onSubmit: (values)", values, selectedTokenId); + sell(selectedTokenId, values.price); + }, + }); + + const initPage = async () => { + if (storage) { + console.log("context is not empty, init page now"); + ownerTokenIds = new Set(); + offersTokenIDMap = new Map(); + + const token_metadataBigMapId = ( + storage.token_metadata as unknown as { id: BigNumber } + ).id.toNumber(); + + const token_ids = await api.bigMapsGetKeys(token_metadataBigMapId, { + micheline: "Json", + active: true, + }); + + await Promise.all( + token_ids.map(async (token_idKey) => { + const token_idNat = new BigNumber(token_idKey.key) as nat; + + let owner = await storage.ledger.get(token_idNat); + if (owner === userAddress) { + ownerTokenIds.add(token_idKey.key); + + const ownerOffers = await storage.offers.get(token_idNat); + if (ownerOffers) + offersTokenIDMap.set(token_idKey.key, ownerOffers); + + console.log( + "found for " + + owner + + " on token_id " + + token_idKey.key + + " with balance " + + 1 + ); + } else { + console.log("skip to next token id"); + } + }) + ); + setOwnerTokenIds(new Set(ownerTokenIds)); //force refresh + setOffersTokenIDMap(new Map(offersTokenIDMap)); //force refresh + } else { + console.log("context is empty, wait for parent and retry ..."); + } + }; + + useEffect(() => { + (async () => { + console.log("after a storage changed"); + await initPage(); + })(); + }, [storage]); + + useEffect(() => { + (async () => { + console.log("on Page init"); + await initPage(); + })(); + }, []); + + const sell = async (token_id: number, price: number) => { + try { + const op = await nftContrat?.methods + .sell( + BigNumber(token_id) as nat, + BigNumber(price * 1000000) as nat //to mutez + ) + .send(); + + await op?.confirmation(2); + + enqueueSnackbar( + "Wine collection (token_id=" + + token_id + + ") offer for " + + 1 + + " units at price of " + + price + + " XTZ", + { variant: "success" } + ); + + refreshUserContextOnPageReload(); //force all app to refresh the context + } catch (error) { + console.table(`Error: ${JSON.stringify(error, null, 2)}`); + let tibe: TransactionInvalidBeaconError = + new TransactionInvalidBeaconError(error); + enqueueSnackbar(tibe.data_message, { + variant: "error", + autoHideDuration: 10000, + }); + } + }; + + const isDesktop = useMediaQuery("(min-width:1100px)"); + const isTablet = useMediaQuery("(min-width:600px)"); + + return ( + + + Sell my bottles + + {ownerTokenIds && ownerTokenIds.size != 0 ? ( + + setCurrentPageIndex(value)} + count={Math.ceil( + Array.from(ownerTokenIds.entries()).length / itemPerPage + )} + showFirstButton + showLastButton + /> + + + {Array.from(ownerTokenIds.entries()) + .filter((_, index) => + index >= currentPageIndex * itemPerPage - itemPerPage && + index < currentPageIndex * itemPerPage + ? true + : false + ) + .map(([token_id]) => ( + + + + {" "} + {"ID : " + token_id.toString()}{" "} + + + {"Description : " + + nftContratTokenMetadataMap.get(token_id) + ?.description} + + + } + > + + + } + title={nftContratTokenMetadataMap.get(token_id)?.name} + /> + + + + + + {offersTokenIDMap.get(token_id) + ? "Traded : " + + 1 + + " (price : " + + offersTokenIDMap + .get(token_id) + ?.price.dividedBy(1000000) + + " Tz)" + : ""} + + + + + + {!userAddress ? ( + + + + ) : ( +
{ + setSelectedTokenId(Number(token_id)); + formik.handleSubmit(values); + }} + > + + + + + ), + }} + /> + +
+ )} +
+
+ ))}{" "} +
+
+ ) : ( + + Sorry, you don't own any bottles, buy or mint some first + + )} +
+ ); + } + ``` + + This page shows the bottles that the connected account owns and allows the user to select bottles for sale. + When the user selects bottles and adds a sale price, the page calls the `sell` entrypoint with this code: + + ```typescript + nftContrat?.methods + .sell(BigNumber(token_id) as nat, BigNumber(price * 1000000) as nat) + .send(); + ``` + + This code multiplies the price by 1,000,000 because the UI shows prices in tez but the contract records prices in mutez. + Then the contract creates an offer for the selected token. + +1. As you did in the previous part, connect an administrator's wallet to the application and create at least one NFT. + The new contract that you deployed in this section has no NFTs to start with. + +1. Offer a bottle for sale: + + 1. Open the application and click **Trading > Sell bottles**. + The sale page opens and shows the bottles that you own, as in this picture: + + ![The Sell bottles page, showing the bottles that you can offer for sale](/img/tutorials/nft-marketplace-2-sell.png) + + 1. Set the price for a bottle and then click **Sell**. + + 1. Approve the transaction in your wallet and wait for the page to refresh. + + When the page refreshes, the bottle updates to show "Traded" and the offer price, as in this picture: + + ![The bottle marked available for sale](/img/tutorials/nft-markeplace-2-traded-bottle.png) + +## Add a catalog and sales page + +In this section, you add a catalog page to show the bottles that are on sale and allow users to buy them. + +1. Open the file `./src/WineCataloguePage.tsx` and replace it with this code: + + ```typescript + import { InfoOutlined } from "@mui/icons-material"; + import ShoppingCartIcon from "@mui/icons-material/ShoppingCart"; + import { + Box, + Button, + Card, + CardActions, + CardContent, + CardHeader, + CardMedia, + ImageList, + Pagination, + Tooltip, + useMediaQuery, + } from "@mui/material"; + import Paper from "@mui/material/Paper"; + import Typography from "@mui/material/Typography"; + + import BigNumber from "bignumber.js"; + import { useFormik } from "formik"; + import { useSnackbar } from "notistack"; + import React, { Fragment, useState } from "react"; + import * as yup from "yup"; + import { UserContext, UserContextType } from "./App"; + import ConnectButton from "./ConnectWallet"; + import { TransactionInvalidBeaconError } from "./TransactionInvalidBeaconError"; + import { address, nat } from "./type-aliases"; + + const itemPerPage: number = 6; + + type OfferEntry = [nat, Offer]; + + type Offer = { + owner: address; + price: nat; + }; + + const validationSchema = yup.object({}); + + export default function WineCataloguePage() { + const { + Tezos, + nftContratTokenMetadataMap, + setUserAddress, + setUserBalance, + wallet, + userAddress, + nftContrat, + refreshUserContextOnPageReload, + storage, + } = React.useContext(UserContext) as UserContextType; + const [selectedOfferEntry, setSelectedOfferEntry] = + React.useState(null); + + const formik = useFormik({ + initialValues: { + quantity: 1, + }, + validationSchema: validationSchema, + onSubmit: (values) => { + console.log("onSubmit: (values)", values, selectedOfferEntry); + buy(selectedOfferEntry!); + }, + }); + const { enqueueSnackbar } = useSnackbar(); + const [currentPageIndex, setCurrentPageIndex] = useState(1); + + const buy = async (selectedOfferEntry: OfferEntry) => { + try { + const op = await nftContrat?.methods + .buy( + BigNumber(selectedOfferEntry[0]) as nat, + selectedOfferEntry[1].owner + ) + .send({ + amount: selectedOfferEntry[1].price.toNumber(), + mutez: true, + }); + + await op?.confirmation(2); + + enqueueSnackbar( + "Bought " + + 1 + + " unit of Wine collection (token_id:" + + selectedOfferEntry[0] + + ")", + { + variant: "success", + } + ); + + refreshUserContextOnPageReload(); //force all app to refresh the context + } catch (error) { + console.table(`Error: ${JSON.stringify(error, null, 2)}`); + let tibe: TransactionInvalidBeaconError = + new TransactionInvalidBeaconError(error); + enqueueSnackbar(tibe.data_message, { + variant: "error", + autoHideDuration: 10000, + }); + } + }; + const isDesktop = useMediaQuery("(min-width:1100px)"); + const isTablet = useMediaQuery("(min-width:600px)"); + return ( + + + Wine catalogue + + + {storage?.offers && storage?.offers.size != 0 ? ( + + setCurrentPageIndex(value)} + count={Math.ceil( + Array.from(storage?.offers.entries()).length / itemPerPage + )} + showFirstButton + showLastButton + /> + + {Array.from(storage?.offers.entries()) + + .filter((_, index) => + index >= currentPageIndex * itemPerPage - itemPerPage && + index < currentPageIndex * itemPerPage + ? true + : false + ) + .map(([token_id, offer]) => ( + + + + {" "} + {"ID : " + token_id.toString()}{" "} + + + {"Description : " + + nftContratTokenMetadataMap.get( + token_id.toString() + )?.description} + + + {"Seller : " + offer.owner}{" "} + + + } + > + + + } + title={ + nftContratTokenMetadataMap.get(token_id.toString()) + ?.name + } + /> + + + + + + {" "} + {"Price : " + + offer.price.dividedBy(1000000) + + " XTZ"} + + + + + + {!userAddress ? ( + + + + ) : ( +
{ + setSelectedOfferEntry([token_id, offer]); + formik.handleSubmit(values); + }} + > + +
+ )} +
+
+ ))} +
+
+ ) : ( + + Sorry, there is not NFT to buy yet, you need to mint or sell + bottles first + + )} +
+ ); + } + ``` + +1. Disconnect your administrator account from the application and connect with a different account that has enough tez to buy a bottle. + +1. In the web application, click **Trading > Wine catalogue**. + The page looks like this: + + ![The catalog page, showing one bottle for sale](/img/tutorials/nft-marketplace-2-buy.png) + +1. Buy a bottle by clicking **Buy** and confirming the transaction in your wallet. + +1. When the transaction completes, click **Trading > Sell bottles** and see that you own the bottle and that you can offer it for sale. + +## Summary + +Now you and other users can buy and sell NFTs from the marketplace dApp. + +In the next part, you create a different type of token, called a single-asset token. +Instead of creating multiple token types with a quantity of exactly 1 as with the NFTs in this part, you create a single token type with any quantity you want. + +For the complete content of the contract and web app at the end of this part, see the completed part 2 app at https://github.com/marigold-dev/training-nft-2. + +To continue, go to [Part 3: Managing tokens with quantities](./part-3). diff --git a/docs/tutorials/build-an-nft-marketplace/part-3.md b/docs/tutorials/build-an-nft-marketplace/part-3.md index 6803ff67f..4c1f1ff3e 100644 --- a/docs/tutorials/build-an-nft-marketplace/part-3.md +++ b/docs/tutorials/build-an-nft-marketplace/part-3.md @@ -1,23 +1,18 @@ --- -title: NFT Marketplace Part 3 +title: "Part 3: Managing tokens with quantities" last_update: - date: 11 October 2023 + date: 8 November 2023 --- -## Introduction +In the previous sections, you created unique, non-interchangeable tokens. +These are not the right kind of token to represent wine bottles, which have a type and a quantity of bottles of that type. +So in this part, you change the application to use a single-asset template, which lets you create a single token ID with a quantity that you define. -![https://vinepair.com/wp-content/uploads/2016/06/Cellar-HEAD.jpg](https://vinepair.com/wp-content/uploads/2016/06/Cellar-HEAD.jpg) +Of course, a wine store has many different bottles of wine with different quantities, so later you will use a multi-asset template to represent bottles in that situation. -This time, let's use the single asset template. It is the opposite of the previous NFT template because: +You can continue from your code from part 2 or start from the completed version here: https://github.com/marigold-dev/training-nft-2/tree/main/solution. -- you have a unique `token_id`, so only 1 wine collection -- you have a certain quantity of items in the same collection - -To sum up, you are producing wine bottles from the same collection with `n` quantity. - -Keep your code from previous training or get the solution [here](https://github.com/marigold-dev/training-nft-2/tree/main/solution) - -> If you clone/fork a repo, rebuild in local +If you start from the completed version, run these commands to install dependencies for the web application: ```bash npm i @@ -26,1378 +21,1386 @@ yarn install cd .. ``` -## Smart Contract - -Point to the new template changing the first import line of your `nft.jsligo` file to - -```ligolang -#import "@ligo/fa/lib/fa2/asset/single_asset.impl.jsligo" "FA2Impl" -``` - -On nft.jsligo file, query/replace any reference to `NFT` namespace by `SingleAsset` one - -Change the `offer` and `storage` definitions - -```ligolang -export type offer = { quantity: nat, price: nat }; - -export type storage = { - administrators: set
, - totalSupply: nat, - offers: map, //user sells an offer - - ledger: FA2Impl.Datatypes.ledger, - metadata: FA2Impl.TZIP16.metadata, - token_metadata: FA2Impl.TZIP12.tokenMetadata, - operators: FA2Impl.Datatypes.operators, -}; -``` - -Explanation: - -- `offers` is now a `map`, because you don't have to store `token_id` as a key, now the key is the owner's address. Each owner can sell a part of the unique collection -- `offer` requires a quantity, each owner is selling a part of the unique collection -- `totalSupply` is set while minting in order to track the global quantity of minted items on the collection. It makes it unnecessary to recalculate each time the quantity from each owner's holdings (this value is constant) - -Edit the `mint` function to add the `quantity` extra param, and finally change the `return` - -```ligolang -@entry -const mint = ( - [quantity, name, description, symbol, ipfsUrl]: [ - nat, - bytes, - bytes, - bytes, - bytes - ], - s: storage -): ret => { - if (quantity <= (0 as nat)) return failwith("0"); - if (! Set.mem(Tezos.get_sender(), s.administrators)) return failwith("1"); - const token_info: map = - Map.literal( - list( - [ - ["name", name], - ["description", description], - ["interfaces", (bytes `["TZIP-12"]`)], - ["artifactUri", ipfsUrl], - ["displayUri", ipfsUrl], - ["thumbnailUri", ipfsUrl], - ["symbol", symbol], - ["decimals", (bytes `0`)] - ] - ) - ) as map; - return [ - list([]) as list, - { - ...s, - totalSupply: quantity, - ledger: Big_map.literal(list([[Tezos.get_sender(), quantity as nat]])) as - FA2Impl.SingleAsset.ledger, - token_metadata: Big_map.add( - 0 as nat, - { token_id: 0 as nat, token_info: token_info }, - s.token_metadata - ), - operators: Big_map.empty as FA2Impl.SingleAsset.operators, - } - ] -}; -``` - -Edit the `sell` function to replace `token_id` by `quantity`, add/override an offer for the user - -```ligolang -@entry -const sell = ([quantity, price]: [nat, nat], s: storage): ret => { - //check balance of seller - - const sellerBalance = - FA2Impl.Sidecar.get_amount_for_owner( - { - ledger: s.ledger, - metadata: s.metadata, - operators: s.operators, - token_metadata: s.token_metadata, - } - )(Tezos.get_source()); - if (quantity > sellerBalance) return failwith("2"); - //need to allow the contract itself to be an operator on behalf of the seller - - const newOperators = - FA2Impl.Sidecar.add_operator(s.operators)(Tezos.get_source())( - Tezos.get_self_address() - ); - //DECISION CHOICE: if offer already exists, we just override it - - return [ - list([]) as list, - { - ...s, - offers: Map.add( - Tezos.get_source(), - { quantity: quantity, price: price }, - s.offers - ), - operators: newOperators - } - ] -}; -``` - -Also edit the `buy` function to replace `token_id` by `quantity`, check quantities, check final price is enough and update the current offer - -```ligolang -@entry -const buy = ([quantity, seller]: [nat, address], s: storage): ret => { - //search for the offer - - return match(Map.find_opt(seller, s.offers)) { - when (None()): - failwith("3") - when (Some(offer)): - do { - //check if quantity is enough - - if (quantity > offer.quantity) return failwith("4"); - //check if amount have been paid enough - - if (Tezos.get_amount() < (offer.price * quantity) * (1 as mutez)) return failwith( - "5" - ); - // prepare transfer of XTZ to seller - - const op = - Tezos.transaction( - unit, - (offer.price * quantity) * (1 as mutez), - Tezos.get_contract_with_error(seller, "6") - ); - //transfer tokens from seller to buyer - - let ledger = - FA2Impl.Sidecar.decrease_token_amount_for_user(s.ledger)(seller)( - quantity - ); - ledger - = FA2Impl.Sidecar.increase_token_amount_for_user(ledger)( - Tezos.get_source() - )(quantity); - //update new offer - - const newOffer = { ...offer, quantity: abs(offer.quantity - quantity) }; - return [ - list([op]) as list, - { - ...s, - offers: Map.update(seller, Some(newOffer), s.offers), - ledger: ledger, - } - ] - } - } -}; -``` - -Edit the storage file `nft.storageList.jsligo` as it. (:warning: you can change the `administrator` address to your own address or keep `alice`) - -```ligolang -#import "nft.jsligo" "Contract" - -const default_storage: Contract.storage = { - administrators: Set.literal( - list(["tz1VSUr8wwNhLAzempoch5d6hLRiTh8Cjcjb" as address]) - ) as set
, - totalSupply: 0 as nat, - offers: Map.empty as map, - ledger: Big_map.empty as Contract.FA2Impl.SingleAsset.ledger, - metadata: Big_map.literal( - list( - [ - ["", bytes `tezos-storage:data`], - [ - "data", - bytes - `{ - "name":"FA2 NFT Marketplace", - "description":"Example of FA2 implementation", - "version":"0.0.1", - "license":{"name":"MIT"}, - "authors":["Marigold"], - "homepage":"https://marigold.dev", - "source":{ - "tools":["Ligo"], - "location":"https://github.com/ligolang/contract-catalogue/tree/main/lib/fa2"}, - "interfaces":["TZIP-012"], - "errors": [], - "views": [] - }` - ] - ] - ) - ) as Contract.FA2Impl.TZIP16.metadata, - token_metadata: Big_map.empty as Contract.FA2Impl.TZIP12.tokenMetadata, - operators: Big_map.empty as Contract.FA2Impl.SingleAsset.operators, -}; -``` - -Compile again and deploy to ghostnet. - -```bash -TAQ_LIGO_IMAGE=ligolang/ligo:1.0.0 taq compile nft.jsligo -taq deploy nft.tz -e "testing" -``` - -```logs -┌──────────┬──────────────────────────────────────┬───────┬──────────────────┬────────────────────────────────┐ -│ Contract │ Address │ Alias │ Balance In Mutez │ Destination │ -├──────────┼──────────────────────────────────────┼───────┼──────────────────┼────────────────────────────────┤ -│ nft.tz │ KT1EUWEeR9RHMb5q5jeW5jbhxBFHbLTqQgiZ │ nft │ 0 │ https://ghostnet.ecadinfra.com │ -└──────────┴──────────────────────────────────────┴───────┴──────────────────┴────────────────────────────────┘ -``` - -**The smart contract! _(backend)_ is finished** - -## NFT Marketplace front - -Generate Typescript classes and go to the frontend to run the server - -```bash -taq generate types ./app/src -cd ./app -yarn install -yarn dev -``` - -### Update in `App.tsx` - -Fetch the `token_id == 0`. -Replace the function `refreshUserContextOnPageReload` by - -```typescript -const refreshUserContextOnPageReload = async () => { - console.log("refreshUserContext"); - //CONTRACT - try { - let c = await Tezos.contract.at(nftContractAddress, tzip12); - console.log("nftContractAddress", nftContractAddress); - - let nftContrat: NftWalletType = await Tezos.wallet.at( - nftContractAddress - ); - const storage = (await nftContrat.storage()) as Storage; - - try { - let tokenMetadata: TZIP21TokenMetadata = (await c - .tzip12() - .getTokenMetadata(0)) as TZIP21TokenMetadata; - nftContratTokenMetadataMap.set("0", tokenMetadata); - - setNftContratTokenMetadataMap(new Map(nftContratTokenMetadataMap)); //new Map to force refresh - } catch (error) { - console.log("error refreshing nftContratTokenMetadataMap: "); - } - - setNftContrat(nftContrat); - setStorage(storage); - } catch (error) { - console.log("error refreshing nft contract: ", error); - } - - //USER - const activeAccount = await wallet.client.getActiveAccount(); - if (activeAccount) { - setUserAddress(activeAccount.address); - const balance = await Tezos.tz.getBalance(activeAccount.address); - setUserBalance(balance.toNumber()); - } - - console.log("refreshUserContext ended."); -}; -``` - -### Update in `MintPage.tsx` - -The quantity field is added and the `token_id` field is removed. Replace the full file by the following content: - -```typescript -import OpenWithIcon from "@mui/icons-material/OpenWith"; -import { - Button, - CardHeader, - CardMedia, - MobileStepper, - Stack, - SwipeableDrawer, - TextField, - Toolbar, - useMediaQuery, -} from "@mui/material"; -import Box from "@mui/material/Box"; -import Card from "@mui/material/Card"; -import CardContent from "@mui/material/CardContent"; -import Paper from "@mui/material/Paper"; -import Typography from "@mui/material/Typography"; -import { BigNumber } from "bignumber.js"; -import { useSnackbar } from "notistack"; -import React, { useEffect, useState } from "react"; -import { TZIP21TokenMetadata, UserContext, UserContextType } from "./App"; -import { TransactionInvalidBeaconError } from "./TransactionInvalidBeaconError"; - -import { - AddCircleOutlined, - Close, - KeyboardArrowLeft, - KeyboardArrowRight, -} from "@mui/icons-material"; -import { char2Bytes } from "@taquito/utils"; -import { useFormik } from "formik"; -import SwipeableViews from "react-swipeable-views"; -import * as yup from "yup"; -import { address, bytes, nat } from "./type-aliases"; -export default function MintPage() { - const { - userAddress, - storage, - nftContrat, - refreshUserContextOnPageReload, - nftContratTokenMetadataMap, - } = React.useContext(UserContext) as UserContextType; - const { enqueueSnackbar } = useSnackbar(); - const [pictureUrl, setPictureUrl] = useState(""); - const [file, setFile] = useState(null); - - const [activeStep, setActiveStep] = React.useState(0); - - const handleNext = () => { - setActiveStep((prevActiveStep) => prevActiveStep + 1); - }; - - const handleBack = () => { - setActiveStep((prevActiveStep) => prevActiveStep - 1); - }; - - const handleStepChange = (step: number) => { - setActiveStep(step); - }; - const validationSchema = yup.object({ - name: yup.string().required("Name is required"), - description: yup.string().required("Description is required"), - symbol: yup.string().required("Symbol is required"), - quantity: yup - .number() - .required("Quantity is required") - .positive("ERROR: The number must be greater than 0!"), - }); - - const formik = useFormik({ - initialValues: { - name: "", - description: "", - token_id: 0, - symbol: "WINE", - quantity: 1, - } as TZIP21TokenMetadata & { quantity: number }, - validationSchema: validationSchema, - onSubmit: (values) => { - mint(values); - }, - }); - - //open mint drawer if admin - useEffect(() => { - if (storage && storage!.administrators.indexOf(userAddress! as address) < 0) - setFormOpen(false); - else setFormOpen(true); - }, [userAddress]); - - const mint = async ( - newTokenDefinition: TZIP21TokenMetadata & { quantity: number } - ) => { - try { - //IPFS - if (file) { - const formData = new FormData(); - formData.append("file", file); - - const requestHeaders: HeadersInit = new Headers(); - requestHeaders.set( - "pinata_api_key", - `${import.meta.env.VITE_PINATA_API_KEY}` - ); - requestHeaders.set( - "pinata_secret_api_key", - `${import.meta.env.VITE_PINATA_API_SECRET}` - ); - - const resFile = await fetch( - "https://api.pinata.cloud/pinning/pinFileToIPFS", - { - method: "post", - body: formData, - headers: requestHeaders, - } - ); - - const responseJson = await resFile.json(); - console.log("responseJson", responseJson); - - const thumbnailUri = `ipfs://${responseJson.IpfsHash}`; - setPictureUrl( - `https://gateway.pinata.cloud/ipfs/${responseJson.IpfsHash}` - ); - - const op = await nftContrat!.methods - .mint( - new BigNumber(newTokenDefinition.quantity) as nat, - char2Bytes(newTokenDefinition.name!) as bytes, - char2Bytes(newTokenDefinition.description!) as bytes, - char2Bytes(newTokenDefinition.symbol!) as bytes, - char2Bytes(thumbnailUri) as bytes - ) - .send(); - - //close directly the form - setFormOpen(false); - enqueueSnackbar( - "Wine collection is minting ... it will be ready on next block, wait for the confirmation message before minting another collection", - { variant: "info" } - ); - - await op.confirmation(2); - - enqueueSnackbar("Wine collection minted", { variant: "success" }); - - refreshUserContextOnPageReload(); //force all app to refresh the context - } - } catch (error) { - console.table(`Error: ${JSON.stringify(error, null, 2)}`); - let tibe: TransactionInvalidBeaconError = - new TransactionInvalidBeaconError(error); - enqueueSnackbar(tibe.data_message, { - variant: "error", - autoHideDuration: 10000, - }); - } - }; - - const [formOpen, setFormOpen] = useState(false); - - const toggleDrawer = - (open: boolean) => (event: React.KeyboardEvent | React.MouseEvent) => { - if ( - event.type === "keydown" && - ((event as React.KeyboardEvent).key === "Tab" || - (event as React.KeyboardEvent).key === "Shift") - ) { - return; - } - setFormOpen(open); - }; - - const isTablet = useMediaQuery("(min-width:600px)"); - - return ( - - {storage ? ( - - ) : ( - "" - )} - - - - - -
- - Mint a new collection - - - - - - - - - {pictureUrl ? ( - - ) : ( - "" - )} - - - - -
-
-
- - Mint your wine collection - - {nftContratTokenMetadataMap.size != 0 ? ( - - - {Array.from(nftContratTokenMetadataMap!.entries()).map( - ([token_id, token]) => ( - - - - - - - - {"ID : " + token_id} - {"Symbol : " + token.symbol} - - {"Description : " + token.description} - - - - - ) - )} - - - Next - - - } - backButton={ - - } - /> - - ) : ( - - Sorry, there is not NFT yet, you need to mint bottles first - - )} -
- ); -} -``` - -### Update in `OffersPage.tsx` - -The quantity field is added and the `token_id` filed is removed. Replace the full file with the following content: - -```typescript -import { InfoOutlined } from "@mui/icons-material"; -import SellIcon from "@mui/icons-material/Sell"; -import * as api from "@tzkt/sdk-api"; - -import { - Box, - Button, - Card, - CardActions, - CardContent, - CardHeader, - CardMedia, - ImageList, - InputAdornment, - Pagination, - TextField, - Tooltip, - Typography, - useMediaQuery, -} from "@mui/material"; -import Paper from "@mui/material/Paper"; -import BigNumber from "bignumber.js"; -import { useFormik } from "formik"; -import { useSnackbar } from "notistack"; -import React, { Fragment, useEffect, useState } from "react"; -import * as yup from "yup"; -import { UserContext, UserContextType } from "./App"; -import ConnectButton from "./ConnectWallet"; -import { TransactionInvalidBeaconError } from "./TransactionInvalidBeaconError"; -import { address, nat } from "./type-aliases"; - -const itemPerPage: number = 6; - -const validationSchema = yup.object({ - price: yup - .number() - .required("Price is required") - .positive("ERROR: The number must be greater than 0!"), - quantity: yup - .number() - .required("Quantity is required") - .positive("ERROR: The number must be greater than 0!"), -}); - -type Offer = { - price: nat; - quantity: nat; -}; - -export default function OffersPage() { - api.defaults.baseUrl = "https://api.ghostnet.tzkt.io"; - - const [selectedTokenId, setSelectedTokenId] = React.useState(0); - const [currentPageIndex, setCurrentPageIndex] = useState(1); - - let [ownerOffers, setOwnerOffers] = React.useState(null); - let [ownerBalance, setOwnerBalance] = React.useState(0); - - const { - nftContrat, - nftContratTokenMetadataMap, - userAddress, - storage, - refreshUserContextOnPageReload, - Tezos, - setUserAddress, - setUserBalance, - wallet, - } = React.useContext(UserContext) as UserContextType; - - const { enqueueSnackbar } = useSnackbar(); - - const formik = useFormik({ - initialValues: { - price: 0, - quantity: 1, - }, - validationSchema: validationSchema, - onSubmit: (values) => { - console.log("onSubmit: (values)", values, selectedTokenId); - sell(selectedTokenId, values.quantity, values.price); - }, - }); - - const initPage = async () => { - if (storage) { - console.log("context is not empty, init page now"); - - const ledgerBigMapId = ( - storage.ledger as unknown as { id: BigNumber } - ).id.toNumber(); - - const ownersKeys = await api.bigMapsGetKeys(ledgerBigMapId, { - micheline: "Json", - active: true, - }); - - await Promise.all( - ownersKeys.map(async (ownerKey) => { - if (ownerKey.key === userAddress) { - const ownerBalance = await storage.ledger.get( - userAddress as address - ); - setOwnerBalance(ownerBalance.toNumber()); - const ownerOffers = await storage.offers.get( - userAddress as address - ); - if (ownerOffers && ownerOffers.quantity != BigNumber(0)) - setOwnerOffers(ownerOffers!); - - console.log( - "found for " + - ownerKey.key + - " on token_id " + - 0 + - " with balance " + - ownerBalance - ); - } else { - console.log("skip to next owner"); - } - }) - ); - } else { - console.log("context is empty, wait for parent and retry ..."); - } - }; - - useEffect(() => { - (async () => { - console.log("after a storage changed"); - await initPage(); - })(); - }, [storage]); - - useEffect(() => { - (async () => { - console.log("on Page init"); - await initPage(); - })(); - }, []); - - const sell = async (token_id: number, quantity: number, price: number) => { - try { - const op = await nftContrat?.methods - .sell( - BigNumber(quantity) as nat, - BigNumber(price * 1000000) as nat //to mutez - ) - .send(); - - await op?.confirmation(2); - - enqueueSnackbar( - "Wine collection (token_id=" + - token_id + - ") offer for " + - quantity + - " units at price of " + - price + - " XTZ", - { variant: "success" } - ); - - refreshUserContextOnPageReload(); //force all app to refresh the context - } catch (error) { - console.table(`Error: ${JSON.stringify(error, null, 2)}`); - let tibe: TransactionInvalidBeaconError = - new TransactionInvalidBeaconError(error); - enqueueSnackbar(tibe.data_message, { - variant: "error", - autoHideDuration: 10000, - }); - } - }; - - const isDesktop = useMediaQuery("(min-width:1100px)"); - const isTablet = useMediaQuery("(min-width:600px)"); - return ( - - - Sell my bottles - - {ownerBalance != 0 ? ( - - setCurrentPageIndex(value)} - count={Math.ceil(1 / itemPerPage)} - showFirstButton - showLastButton - /> - - - - - {"ID : " + 0} - - {"Description : " + - nftContratTokenMetadataMap.get("0")?.description} - - - } - > - - - } - title={nftContratTokenMetadataMap.get("0")?.name} - /> - - - - - - {"Owned : " + ownerBalance} - - - {ownerOffers - ? "Traded : " + - ownerOffers?.quantity + - " (price : " + - ownerOffers?.price.dividedBy(1000000) + - " Tz/b)" - : ""} - - - - - - {!userAddress ? ( - - - - ) : ( -
{ - setSelectedTokenId(0); - formik.handleSubmit(values); - }} - > - - - - - - ), - }} - /> - -
- )} -
-
-
-
- ) : ( - - Sorry, you don't own any bottles, buy or mint some first - - )} -
- ); -} -``` - -### Update in `WineCataloguePage.tsx` - -The quantity field is added and `token_id` filed is removed. Replace the full file with the following content: - -```typescript -import { InfoOutlined } from "@mui/icons-material"; -import ShoppingCartIcon from "@mui/icons-material/ShoppingCart"; -import { - Button, - Card, - CardActions, - CardContent, - CardHeader, - CardMedia, - ImageList, - InputAdornment, - Pagination, - TextField, - Tooltip, - Typography, - useMediaQuery, -} from "@mui/material"; -import Box from "@mui/material/Box"; -import Paper from "@mui/material/Paper"; -import BigNumber from "bignumber.js"; -import { useFormik } from "formik"; -import { useSnackbar } from "notistack"; -import React, { Fragment, useState } from "react"; -import * as yup from "yup"; -import { UserContext, UserContextType } from "./App"; -import ConnectButton from "./ConnectWallet"; -import { TransactionInvalidBeaconError } from "./TransactionInvalidBeaconError"; -import { address, nat } from "./type-aliases"; - -const itemPerPage: number = 6; - -type OfferEntry = [address, Offer]; - -type Offer = { - price: nat; - quantity: nat; -}; - -const validationSchema = yup.object({ - quantity: yup - .number() - .required("Quantity is required") - .positive("ERROR: The number must be greater than 0!"), -}); - -export default function WineCataloguePage() { - const { - Tezos, - nftContratTokenMetadataMap, - setUserAddress, - setUserBalance, - wallet, - userAddress, - nftContrat, - refreshUserContextOnPageReload, - storage, - } = React.useContext(UserContext) as UserContextType; - const [selectedOfferEntry, setSelectedOfferEntry] = - React.useState(null); - - const formik = useFormik({ - initialValues: { - quantity: 1, - }, - validationSchema: validationSchema, - onSubmit: (values) => { - console.log("onSubmit: (values)", values, selectedOfferEntry); - buy(values.quantity, selectedOfferEntry!); - }, - }); - const { enqueueSnackbar } = useSnackbar(); - const [currentPageIndex, setCurrentPageIndex] = useState(1); - - const buy = async (quantity: number, selectedOfferEntry: OfferEntry) => { - try { - const op = await nftContrat?.methods - .buy(BigNumber(quantity) as nat, selectedOfferEntry[0]) - .send({ - amount: - selectedOfferEntry[1].quantity.toNumber() * - selectedOfferEntry[1].price.toNumber(), - mutez: true, - }); - - await op?.confirmation(2); - - enqueueSnackbar( - "Bought " + - quantity + - " unit of Wine collection (token_id:" + - selectedOfferEntry[0][1] + - ")", - { - variant: "success", - } - ); - - refreshUserContextOnPageReload(); //force all app to refresh the context - } catch (error) { - console.table(`Error: ${JSON.stringify(error, null, 2)}`); - let tibe: TransactionInvalidBeaconError = - new TransactionInvalidBeaconError(error); - enqueueSnackbar(tibe.data_message, { - variant: "error", - autoHideDuration: 10000, - }); - } - }; - const isDesktop = useMediaQuery("(min-width:1100px)"); - const isTablet = useMediaQuery("(min-width:600px)"); - - return ( - - - Wine catalogue - - - {storage?.offers && storage?.offers.size != 0 ? ( - - setCurrentPageIndex(value)} - count={Math.ceil( - Array.from(storage?.offers.entries()).filter(([_, offer]) => - offer.quantity.isGreaterThan(0) - ).length / itemPerPage - )} - showFirstButton - showLastButton - /> - - {Array.from(storage?.offers.entries()) - .filter(([_, offer]) => offer.quantity.isGreaterThan(0)) - .filter((_, index) => - index >= currentPageIndex * itemPerPage - itemPerPage && - index < currentPageIndex * itemPerPage - ? true - : false - ) - .map(([owner, offer]) => ( - - - {"ID : " + 0} - - {"Description : " + - nftContratTokenMetadataMap.get("0") - ?.description} - - {"Seller : " + owner} - - } - > - - - } - title={nftContratTokenMetadataMap.get("0")?.name} - /> - - - - - - {"Price : " + - offer.price.dividedBy(1000000) + - " XTZ/bottle"} - - - {"Available units : " + offer.quantity} - - - - - - {!userAddress ? ( - - - - ) : ( -
{ - setSelectedOfferEntry([owner, offer]); - formik.handleSubmit(values); - }} - > - - - - ), - }} - /> - - )} -
-
- ))} -
-
- ) : ( - - Sorry, there is not NFT to buy yet, you need to mint or sell bottles - first - - )} -
- ); -} -``` - -### Let's play - -- Connect with your wallet and choose **alice** account (or one of the administrators you set on the smart contract earlier). You are redirected to the Administration/mint page as there is no minted NFT yet -- Create an asset, for example: - - `name`: Saint Emilion - Franc la Rose - - `symbol`: SEMIL - - `description`: Grand cru 2007 - - `quantity`: 1000 -- Click on **Upload an image** and select a bottle picture on your computer -- Click on the Mint button - -![minting.png](/img/tutorials/minting.png) - -Your picture is pushed to IPFS and displayed, then your wallet asks you to sign the `mint` operation. - -- Confirm operation -- Wait less than 1 minute to get the confirmation notification, the page is automatically refreshed. - -![minted.png](/img/tutorials/minted.png) - -Now you can see the **Trading** menu and the **Bottle offers** sub menu - -Click on the sub-menu entry - -You are the owner of this bottle so you can make an offer on it - -- Enter a quantity -- Enter a price offer -- Click on the **SELL** button -- Wait a bit for the confirmation, then once automatically refreshed you have an offer attached to your NFT - -![offer.png](/img/tutorials/offer.png) - -For buying, - -- Disconnect from your user and connect with another account _(who has enough XTZ to buy at least 1 bottle)_ -- The buyer will see that alice is selling some bottles from the unique collection -- Buy some bottles while clicking on **BUY** button -- Wait for the confirmation, then the offer is updated on the market _(depending how many bottle you bought)_ -- Click on **bottle offers** sub menu -- You are now the owner of some bottles, you can resell a part of it at your own price, etc ... - -![buy.png](/img/tutorials/buy_part3.png) - -## Conclusion - -You are now able to play with a unique NFT collection from the Ligo library. - -In the next lesson, you will use the last template **multi-asset** that will allow multiple NFT collections on the same contract - -To continue, let's go to [Part 4](./part-4). +## Updating the smart contract + +To use the single-asset template, you must change the code that your smart contract imports from the NFT template to the single-asset template: + +1. In the `nft.jsligo` file, change the first line to this code: + + ```jsligo + #import "@ligo/fa/lib/fa2/asset/single_asset.impl.jsligo" "FA2Impl" + ``` + +1. Change the offer type to store a quantity and a price, as in this code: + + ```ligolang + export type offer = { quantity: nat, price: nat }; + ``` + +1. Change the storage type to use the data types from the single-asset template instead of the NFT template: + + ```ligolang + export type storage = { + administrators: set
, + totalSupply: nat, + offers: map, //user sells an offer + + ledger: FA2Impl.SingleAsset.ledger, + metadata: FA2Impl.TZIP16.metadata, + token_metadata: FA2Impl.TZIP12.tokenMetadata, + operators: FA2Impl.SingleAsset.operators, + }; + ``` + + Now the offers value is indexed on the address of the seller instead of the token ID because there is only one token ID. + Also, the storage now keeps track of the total number of tokens in the `totalSupply` value. + +1. Replace all other references to `FA2Impl.NFT` in the contract with `FA2Impl.SingleAsset`. + You can do a find-replace in the contract to change these values. + +1. Replace the `mint` entrypoint with this code: + + ```ligolang + @entry + const mint = ( + [quantity, name, description, symbol, ipfsUrl]: [ + nat, + bytes, + bytes, + bytes, + bytes + ], + s: storage + ): ret => { + if (quantity <= (0 as nat)) return failwith("0"); + if (! Set.mem(Tezos.get_sender(), s.administrators)) return failwith("1"); + const token_info: map = + Map.literal( + list( + [ + ["name", name], + ["description", description], + ["interfaces", (bytes `["TZIP-12"]`)], + ["artifactUri", ipfsUrl], + ["displayUri", ipfsUrl], + ["thumbnailUri", ipfsUrl], + ["symbol", symbol], + ["decimals", (bytes `0`)] + ] + ) + ) as map; + return [ + list([]) as list, + { + ...s, + totalSupply: quantity, + ledger: Big_map.literal(list([[Tezos.get_sender(), quantity as nat]])) as + FA2Impl.SingleAsset.ledger, + token_metadata: Big_map.add( + 0 as nat, + { token_id: 0 as nat, token_info: token_info }, + s.token_metadata + ), + operators: Big_map.empty as FA2Impl.SingleAsset.operators, + } + ] + }; + ``` + + This updated entrypoint accepts a parameter for the number of tokens to mint and returns that number as the `totalSupply` value. + +1. Replace the `sell` entrypoint with this code: + + ```ligolang + @entry + const sell = ([quantity, price]: [nat, nat], s: storage): ret => { + //check balance of seller + + const sellerBalance = + FA2Impl.SingleAsset.get_amount_for_owner( + { + ledger: s.ledger, + metadata: s.metadata, + operators: s.operators, + token_metadata: s.token_metadata, + } + )(Tezos.get_source()); + if (quantity > sellerBalance) return failwith("2"); + //need to allow the contract itself to be an operator on behalf of the seller + + const newOperators = + FA2Impl.SingleAsset.add_operator(s.operators)(Tezos.get_source())( + Tezos.get_self_address() + ); + //DECISION CHOICE: if offer already exists, we just override it + + return [ + list([]) as list, + { + ...s, + offers: Map.add( + Tezos.get_source(), + { quantity: quantity, price: price }, + s.offers + ), + operators: newOperators + } + ] + }; + ``` + + This updated entrypoint accepts a quantity to offer for sale instead of a token ID. + It also overrides any existing offers for the token. + +1. Replace the `buy` entrypoint with this code: + + ```ligolang + @entry + const buy = ([quantity, seller]: [nat, address], s: storage): ret => { + //search for the offer + + return match(Map.find_opt(seller, s.offers)) { + when (None()): + failwith("3") + when (Some(offer)): + do { + //check if quantity is enough + + if (quantity > offer.quantity) return failwith("4"); + //check if amount have been paid enough + + if (Tezos.get_amount() < (offer.price * quantity) * (1 as mutez)) return failwith( + "5" + ); + // prepare transfer of XTZ to seller + + const op = + Tezos.transaction( + unit, + (offer.price * quantity) * (1 as mutez), + Tezos.get_contract_with_error(seller, "6") + ); + //transfer tokens from seller to buyer + + let ledger = + FA2Impl.SingleAsset.decrease_token_amount_for_user(s.ledger)(seller)( + quantity + ); + ledger + = FA2Impl.SingleAsset.increase_token_amount_for_user(ledger)( + Tezos.get_source() + )(quantity); + //update new offer + + const newOffer = { ...offer, quantity: abs(offer.quantity - quantity) }; + return [ + list([op]) as list, + { + ...s, + offers: Map.update(seller, Some(newOffer), s.offers), + ledger: ledger, + } + ] + } + } + }; + ``` + + This updated entrypoint accepts the quantity of tokens to buy, verifies that the quantity is less than or equal to the quantity offered for sale, verifies the sale price, and updates the offer. + It allows a buyer to buy the full amount of tokens for sale or fewer than the offered amount. + +1. Replace the content of the `nft.storageList.jsligo` file with this code: + + ```ligolang + #import "nft.jsligo" "Contract" + + const default_storage: Contract.storage = { + administrators: Set.literal( + list(["tz1VSUr8wwNhLAzempoch5d6hLRiTh8Cjcjb" as address]) + ) as set
, + totalSupply: 0 as nat, + offers: Map.empty as map, + ledger: Big_map.empty as Contract.FA2Impl.SingleAsset.ledger, + metadata: Big_map.literal( + list( + [ + ["", bytes `tezos-storage:data`], + [ + "data", + bytes + `{ + "name":"FA2 NFT Marketplace", + "description":"Example of FA2 implementation", + "version":"0.0.1", + "license":{"name":"MIT"}, + "authors":["Marigold"], + "homepage":"https://marigold.dev", + "source":{ + "tools":["Ligo"], + "location":"https://github.com/ligolang/contract-catalogue/tree/main/lib/fa2"}, + "interfaces":["TZIP-012"], + "errors": [], + "views": [] + }` + ] + ] + ) + ) as Contract.FA2Impl.TZIP16.metadata, + token_metadata: Big_map.empty as Contract.FA2Impl.TZIP12.tokenMetadata, + operators: Big_map.empty as Contract.FA2Impl.SingleAsset.operators, + }; + ``` + +1. As in the previous parts, update the administrators to include addresses that you have access to. + +1. Compile and deploy the new contract: + + ```bash + TAQ_LIGO_IMAGE=ligolang/ligo:1.1.0 taq compile nft.jsligo + taq deploy nft.tz -e "testing" + ``` + +## Updating the frontend + +1. Generate the TypeScript classes and start the server: + + ```bash + taq generate types ./app/src + cd ./app + yarn dev + ``` + +1. In the file `src/App.tsx`, replace the function `refreshUserContextOnPageReload` with this code: + + ```typescript + const refreshUserContextOnPageReload = async () => { + console.log("refreshUserContext"); + //CONTRACT + try { + let c = await Tezos.contract.at(nftContractAddress, tzip12); + console.log("nftContractAddress", nftContractAddress); + + let nftContrat: NftWalletType = await Tezos.wallet.at( + nftContractAddress + ); + const storage = (await nftContrat.storage()) as Storage; + + try { + let tokenMetadata: TZIP21TokenMetadata = (await c + .tzip12() + .getTokenMetadata(0)) as TZIP21TokenMetadata; + nftContratTokenMetadataMap.set("0", tokenMetadata); + + setNftContratTokenMetadataMap(new Map(nftContratTokenMetadataMap)); //new Map to force refresh + } catch (error) { + console.log("error refreshing nftContratTokenMetadataMap: "); + } + + setNftContrat(nftContrat); + setStorage(storage); + } catch (error) { + console.log("error refreshing nft contract: ", error); + } + + //USER + const activeAccount = await wallet.client.getActiveAccount(); + if (activeAccount) { + setUserAddress(activeAccount.address); + const balance = await Tezos.tz.getBalance(activeAccount.address); + setUserBalance(balance.toNumber()); + } + + console.log("refreshUserContext ended."); + }; + ``` + + This update shows information about the single-asset token correctly in the UI. + +1. Replace the content of the `src/MintPage.tsx` file with this code: + + ```typescript + import OpenWithIcon from "@mui/icons-material/OpenWith"; + import { + Button, + CardHeader, + CardMedia, + MobileStepper, + Stack, + SwipeableDrawer, + TextField, + Toolbar, + useMediaQuery, + } from "@mui/material"; + import Box from "@mui/material/Box"; + import Card from "@mui/material/Card"; + import CardContent from "@mui/material/CardContent"; + import Paper from "@mui/material/Paper"; + import Typography from "@mui/material/Typography"; + import { BigNumber } from "bignumber.js"; + import { useSnackbar } from "notistack"; + import React, { useEffect, useState } from "react"; + import { TZIP21TokenMetadata, UserContext, UserContextType } from "./App"; + import { TransactionInvalidBeaconError } from "./TransactionInvalidBeaconError"; + + import { + AddCircleOutlined, + Close, + KeyboardArrowLeft, + KeyboardArrowRight, + } from "@mui/icons-material"; + import { char2Bytes } from "@taquito/utils"; + import { useFormik } from "formik"; + import SwipeableViews from "react-swipeable-views"; + import * as yup from "yup"; + import { address, bytes, nat } from "./type-aliases"; + export default function MintPage() { + const { + userAddress, + storage, + nftContrat, + refreshUserContextOnPageReload, + nftContratTokenMetadataMap, + } = React.useContext(UserContext) as UserContextType; + const { enqueueSnackbar } = useSnackbar(); + const [pictureUrl, setPictureUrl] = useState(""); + const [file, setFile] = useState(null); + + const [activeStep, setActiveStep] = React.useState(0); + + const handleNext = () => { + setActiveStep((prevActiveStep) => prevActiveStep + 1); + }; + + const handleBack = () => { + setActiveStep((prevActiveStep) => prevActiveStep - 1); + }; + + const handleStepChange = (step: number) => { + setActiveStep(step); + }; + const validationSchema = yup.object({ + name: yup.string().required("Name is required"), + description: yup.string().required("Description is required"), + symbol: yup.string().required("Symbol is required"), + quantity: yup + .number() + .required("Quantity is required") + .positive("ERROR: The number must be greater than 0!"), + }); + + const formik = useFormik({ + initialValues: { + name: "", + description: "", + token_id: 0, + symbol: "WINE", + quantity: 1, + } as TZIP21TokenMetadata & { quantity: number }, + validationSchema: validationSchema, + onSubmit: (values) => { + mint(values); + }, + }); + + //open mint drawer if admin + useEffect(() => { + if ( + storage && + storage!.administrators.indexOf(userAddress! as address) < 0 + ) + setFormOpen(false); + else setFormOpen(true); + }, [userAddress]); + + const mint = async ( + newTokenDefinition: TZIP21TokenMetadata & { quantity: number } + ) => { + try { + //IPFS + if (file) { + const formData = new FormData(); + formData.append("file", file); + + const requestHeaders: HeadersInit = new Headers(); + requestHeaders.set( + "pinata_api_key", + `${import.meta.env.VITE_PINATA_API_KEY}` + ); + requestHeaders.set( + "pinata_secret_api_key", + `${import.meta.env.VITE_PINATA_API_SECRET}` + ); + + const resFile = await fetch( + "https://api.pinata.cloud/pinning/pinFileToIPFS", + { + method: "post", + body: formData, + headers: requestHeaders, + } + ); + + const responseJson = await resFile.json(); + console.log("responseJson", responseJson); + + const thumbnailUri = `ipfs://${responseJson.IpfsHash}`; + setPictureUrl( + `https://gateway.pinata.cloud/ipfs/${responseJson.IpfsHash}` + ); + + const op = await nftContrat!.methods + .mint( + new BigNumber(newTokenDefinition.quantity) as nat, + char2Bytes(newTokenDefinition.name!) as bytes, + char2Bytes(newTokenDefinition.description!) as bytes, + char2Bytes(newTokenDefinition.symbol!) as bytes, + char2Bytes(thumbnailUri) as bytes + ) + .send(); + + //close directly the form + setFormOpen(false); + enqueueSnackbar( + "Wine collection is minting ... it will be ready on next block, wait for the confirmation message before minting another collection", + { variant: "info" } + ); + + await op.confirmation(2); + + enqueueSnackbar("Wine collection minted", { variant: "success" }); + + refreshUserContextOnPageReload(); //force all app to refresh the context + } + } catch (error) { + console.table(`Error: ${JSON.stringify(error, null, 2)}`); + let tibe: TransactionInvalidBeaconError = + new TransactionInvalidBeaconError(error); + enqueueSnackbar(tibe.data_message, { + variant: "error", + autoHideDuration: 10000, + }); + } + }; + + const [formOpen, setFormOpen] = useState(false); + + const toggleDrawer = + (open: boolean) => (event: React.KeyboardEvent | React.MouseEvent) => { + if ( + event.type === "keydown" && + ((event as React.KeyboardEvent).key === "Tab" || + (event as React.KeyboardEvent).key === "Shift") + ) { + return; + } + setFormOpen(open); + }; + + const isTablet = useMediaQuery("(min-width:600px)"); + + return ( + + {storage ? ( + + ) : ( + "" + )} + + + + + +
+ + Mint a new collection + + + + + + + + + {pictureUrl ? ( + + ) : ( + "" + )} + + + + +
+
+
+ + Mint your wine collection + + {nftContratTokenMetadataMap.size != 0 ? ( + + + {Array.from(nftContratTokenMetadataMap!.entries()).map( + ([token_id, token]) => ( + + + + + + + + {"ID : " + token_id} + {"Symbol : " + token.symbol} + + {"Description : " + token.description} + + + + + ) + )} + + + Next + + + } + backButton={ + + } + /> + + ) : ( + + Sorry, there is not NFT yet, you need to mint bottles first + + )} +
+ ); + } + ``` + + This update changes the mint function to add a quantity field and remove the token ID field. + +1. Replace the content of the `src/OffersPage.tsx` file with this code: + + ```typescript + import { InfoOutlined } from "@mui/icons-material"; + import SellIcon from "@mui/icons-material/Sell"; + import * as api from "@tzkt/sdk-api"; + + import { + Box, + Button, + Card, + CardActions, + CardContent, + CardHeader, + CardMedia, + ImageList, + InputAdornment, + Pagination, + TextField, + Tooltip, + Typography, + useMediaQuery, + } from "@mui/material"; + import Paper from "@mui/material/Paper"; + import BigNumber from "bignumber.js"; + import { useFormik } from "formik"; + import { useSnackbar } from "notistack"; + import React, { Fragment, useEffect, useState } from "react"; + import * as yup from "yup"; + import { UserContext, UserContextType } from "./App"; + import ConnectButton from "./ConnectWallet"; + import { TransactionInvalidBeaconError } from "./TransactionInvalidBeaconError"; + import { address, nat } from "./type-aliases"; + + const itemPerPage: number = 6; + + const validationSchema = yup.object({ + price: yup + .number() + .required("Price is required") + .positive("ERROR: The number must be greater than 0!"), + quantity: yup + .number() + .required("Quantity is required") + .positive("ERROR: The number must be greater than 0!"), + }); + + type Offer = { + price: nat; + quantity: nat; + }; + + export default function OffersPage() { + api.defaults.baseUrl = "https://api.ghostnet.tzkt.io"; + + const [selectedTokenId, setSelectedTokenId] = React.useState(0); + const [currentPageIndex, setCurrentPageIndex] = useState(1); + + let [ownerOffers, setOwnerOffers] = React.useState(null); + let [ownerBalance, setOwnerBalance] = React.useState(0); + + const { + nftContrat, + nftContratTokenMetadataMap, + userAddress, + storage, + refreshUserContextOnPageReload, + Tezos, + setUserAddress, + setUserBalance, + wallet, + } = React.useContext(UserContext) as UserContextType; + + const { enqueueSnackbar } = useSnackbar(); + + const formik = useFormik({ + initialValues: { + price: 0, + quantity: 1, + }, + validationSchema: validationSchema, + onSubmit: (values) => { + console.log("onSubmit: (values)", values, selectedTokenId); + sell(selectedTokenId, values.quantity, values.price); + }, + }); + + const initPage = async () => { + if (storage) { + console.log("context is not empty, init page now"); + + const ledgerBigMapId = ( + storage.ledger as unknown as { id: BigNumber } + ).id.toNumber(); + + const ownersKeys = await api.bigMapsGetKeys(ledgerBigMapId, { + micheline: "Json", + active: true, + }); + + await Promise.all( + ownersKeys.map(async (ownerKey) => { + if (ownerKey.key === userAddress) { + const ownerBalance = await storage.ledger.get( + userAddress as address + ); + setOwnerBalance(ownerBalance.toNumber()); + const ownerOffers = await storage.offers.get( + userAddress as address + ); + if (ownerOffers && ownerOffers.quantity != BigNumber(0)) + setOwnerOffers(ownerOffers!); + + console.log( + "found for " + + ownerKey.key + + " on token_id " + + 0 + + " with balance " + + ownerBalance + ); + } else { + console.log("skip to next owner"); + } + }) + ); + } else { + console.log("context is empty, wait for parent and retry ..."); + } + }; + + useEffect(() => { + (async () => { + console.log("after a storage changed"); + await initPage(); + })(); + }, [storage]); + + useEffect(() => { + (async () => { + console.log("on Page init"); + await initPage(); + })(); + }, []); + + const sell = async (token_id: number, quantity: number, price: number) => { + try { + const op = await nftContrat?.methods + .sell( + BigNumber(quantity) as nat, + BigNumber(price * 1000000) as nat //to mutez + ) + .send(); + + await op?.confirmation(2); + + enqueueSnackbar( + "Wine collection (token_id=" + + token_id + + ") offer for " + + quantity + + " units at price of " + + price + + " XTZ", + { variant: "success" } + ); + + refreshUserContextOnPageReload(); //force all app to refresh the context + } catch (error) { + console.table(`Error: ${JSON.stringify(error, null, 2)}`); + let tibe: TransactionInvalidBeaconError = + new TransactionInvalidBeaconError(error); + enqueueSnackbar(tibe.data_message, { + variant: "error", + autoHideDuration: 10000, + }); + } + }; + + const isDesktop = useMediaQuery("(min-width:1100px)"); + const isTablet = useMediaQuery("(min-width:600px)"); + return ( + + + Sell my bottles + + {ownerBalance != 0 ? ( + + setCurrentPageIndex(value)} + count={Math.ceil(1 / itemPerPage)} + showFirstButton + showLastButton + /> + + + + + {"ID : " + 0} + + {"Description : " + + nftContratTokenMetadataMap.get("0")?.description} + + + } + > + + + } + title={nftContratTokenMetadataMap.get("0")?.name} + /> + + + + + + {"Owned : " + ownerBalance} + + + {ownerOffers + ? "Traded : " + + ownerOffers?.quantity + + " (price : " + + ownerOffers?.price.dividedBy(1000000) + + " Tz/b)" + : ""} + + + + + + {!userAddress ? ( + + + + ) : ( +
{ + setSelectedTokenId(0); + formik.handleSubmit(values); + }} + > + + + + + + ), + }} + /> + +
+ )} +
+
+
+
+ ) : ( + + Sorry, you don't own any bottles, buy or mint some first + + )} +
+ ); + } + ``` + + This update changes the offers page to allow owners to specify the quantity of tokens to offer for sale. + +1. Replace the content of the `src/WineCataloguePage.tsx` with this code: + + ```typescript + import { InfoOutlined } from "@mui/icons-material"; + import ShoppingCartIcon from "@mui/icons-material/ShoppingCart"; + import { + Button, + Card, + CardActions, + CardContent, + CardHeader, + CardMedia, + ImageList, + InputAdornment, + Pagination, + TextField, + Tooltip, + Typography, + useMediaQuery, + } from "@mui/material"; + import Box from "@mui/material/Box"; + import Paper from "@mui/material/Paper"; + import BigNumber from "bignumber.js"; + import { useFormik } from "formik"; + import { useSnackbar } from "notistack"; + import React, { Fragment, useState } from "react"; + import * as yup from "yup"; + import { UserContext, UserContextType } from "./App"; + import ConnectButton from "./ConnectWallet"; + import { TransactionInvalidBeaconError } from "./TransactionInvalidBeaconError"; + import { address, nat } from "./type-aliases"; + + const itemPerPage: number = 6; + + type OfferEntry = [address, Offer]; + + type Offer = { + price: nat; + quantity: nat; + }; + + const validationSchema = yup.object({ + quantity: yup + .number() + .required("Quantity is required") + .positive("ERROR: The number must be greater than 0!"), + }); + + export default function WineCataloguePage() { + const { + Tezos, + nftContratTokenMetadataMap, + setUserAddress, + setUserBalance, + wallet, + userAddress, + nftContrat, + refreshUserContextOnPageReload, + storage, + } = React.useContext(UserContext) as UserContextType; + const [selectedOfferEntry, setSelectedOfferEntry] = + React.useState(null); + + const formik = useFormik({ + initialValues: { + quantity: 1, + }, + validationSchema: validationSchema, + onSubmit: (values) => { + console.log("onSubmit: (values)", values, selectedOfferEntry); + buy(values.quantity, selectedOfferEntry!); + }, + }); + const { enqueueSnackbar } = useSnackbar(); + const [currentPageIndex, setCurrentPageIndex] = useState(1); + + const buy = async (quantity: number, selectedOfferEntry: OfferEntry) => { + try { + const op = await nftContrat?.methods + .buy(BigNumber(quantity) as nat, selectedOfferEntry[0]) + .send({ + amount: + selectedOfferEntry[1].quantity.toNumber() * + selectedOfferEntry[1].price.toNumber(), + mutez: true, + }); + + await op?.confirmation(2); + + enqueueSnackbar( + "Bought " + + quantity + + " unit of Wine collection (token_id:" + + selectedOfferEntry[0][1] + + ")", + { + variant: "success", + } + ); + + refreshUserContextOnPageReload(); //force all app to refresh the context + } catch (error) { + console.table(`Error: ${JSON.stringify(error, null, 2)}`); + let tibe: TransactionInvalidBeaconError = + new TransactionInvalidBeaconError(error); + enqueueSnackbar(tibe.data_message, { + variant: "error", + autoHideDuration: 10000, + }); + } + }; + const isDesktop = useMediaQuery("(min-width:1100px)"); + const isTablet = useMediaQuery("(min-width:600px)"); + + return ( + + + Wine catalogue + + + {storage?.offers && storage?.offers.size != 0 ? ( + + setCurrentPageIndex(value)} + count={Math.ceil( + Array.from(storage?.offers.entries()).filter(([_, offer]) => + offer.quantity.isGreaterThan(0) + ).length / itemPerPage + )} + showFirstButton + showLastButton + /> + + {Array.from(storage?.offers.entries()) + .filter(([_, offer]) => offer.quantity.isGreaterThan(0)) + .filter((_, index) => + index >= currentPageIndex * itemPerPage - itemPerPage && + index < currentPageIndex * itemPerPage + ? true + : false + ) + .map(([owner, offer]) => ( + + + {"ID : " + 0} + + {"Description : " + + nftContratTokenMetadataMap.get("0") + ?.description} + + {"Seller : " + owner} + + } + > + + + } + title={nftContratTokenMetadataMap.get("0")?.name} + /> + + + + + + {"Price : " + + offer.price.dividedBy(1000000) + + " XTZ/bottle"} + + + {"Available units : " + offer.quantity} + + + + + + {!userAddress ? ( + + + + ) : ( +
{ + setSelectedOfferEntry([owner, offer]); + formik.handleSubmit(values); + }} + > + + + + ), + }} + /> + + )} +
+
+ ))} +
+
+ ) : ( + + Sorry, there is not NFT to buy yet, you need to mint or sell + bottles first + + )} +
+ ); + } + ``` + + Like the other files, this update removes the token ID and adds the quantity field. + +1. As you did in the previous part, connect an administrator's wallet to the application. + +1. Create a token and specify a quantity to mint. + For example, you can use this information: + + - `name`: Saint Emilion - Franc la Rose + - `symbol`: SEMIL + - `description`: Grand cru 2007 + - `quantity`: 1000 + + ![The minting page, showing the creation of 1000 tokens](/img/tutorials/nft-marketplace-3-minting.png) + + When you approve the transaction in your wallet and the transaction completes, the page refreshes automatically and shows the new token. + +1. Click **Trading > Sell bottles**, set the quantity to offer and the price per token, as shown in this picture: + + ![Setting the price and quantity for the offer](/img/tutorials/nft-marketplace-3-offer.png) + +1. Click **Sell** and approve the transaction in your wallet. + +1. When the transaction completes, connect with a different account, click **Trading > Wine catalogue**, and buy some bottles of wine, as shown in this picture: + + ![Buying bottles of wine](/img/tutorials/nft-marketplace-3-buy.png) + +1. When the transaction completes, you can see that the different account owns the tokens and can offer them for sale for a different price. + + You can also get the address of the contract from the `.taq/config.local.testing.json` file and look up the contract in a block explorer. + Because the contract is still FA2 compliant, the block explorer shows the token holders and the quantity of the tokens they have, such as in this picture from the [tzkt.io](https://ghostnet.tzkt.io/) block explorer: + + ![The block explorer showing the accounts that own the token](/img/tutorials/nft-marketplace-3-token-holders.png) + +## Summary + +Now you can manage tokens that have a quantity, but the app can manage only one type of token. + +For the complete content of the contract and web app at the end of this part, see the completed part 3 app at https://github.com/marigold-dev/training-nft-3. + +In the next part, you update the application to create a multi-asset contract that can handle multiple types of tokens with different quantities. + +To continue, go to [Part 4: Handling multi-asset tokens](./part-4). diff --git a/docs/tutorials/build-an-nft-marketplace/part-4.md b/docs/tutorials/build-an-nft-marketplace/part-4.md index c51581248..679cc84be 100644 --- a/docs/tutorials/build-an-nft-marketplace/part-4.md +++ b/docs/tutorials/build-an-nft-marketplace/part-4.md @@ -1,23 +1,15 @@ --- -title: NFT Marketplace Part 4 +title: "Part 4: Handling multi-asset tokens" last_update: - date: 11 October 2023 + date: 8 November 2023 --- -## Introduction +Because a wine store can have many bottles of many different types, the appropriate template to use is the multi-asset template. +With this template, you can create as many token types as you need and set a different quantity for each type. -![https://france-vins.eu/wp-content/uploads/2018/10/les-meilleures-caves-%C3%A0-vin-image.jpg](https://france-vins.eu/wp-content/uploads/2018/10/les-meilleures-caves-%C3%A0-vin-image.jpg) +You can continue from your code from part 3 or start from the completed version here: https://github.com/marigold-dev/training-nft-3/tree/main/solution. -Here is the multi asset template : - -- you have an unlimited number of NFT collections -- you have an unlimited quantity of items in each collection - -To resume, you are producing any quantity of wine bottles on `n` collections - -Keep your code from previous training or get the solution [here](https://github.com/marigold-dev/training-nft-3/tree/main/solution) - -> If you clone/fork a repo, rebuild in local +If you start from the completed version, run these commands to install dependencies for the web application: ```bash npm i @@ -26,1439 +18,1420 @@ yarn install cd .. ``` -## Smart Contract - -Point to the new template changing the first import line of `nft.jsligo` file to - -```ligolang -#import "@ligo/fa/lib/fa2/asset/multi_asset.impl.jsligo" "FA2Impl" -``` - -It means you need to change the namespace from `SingleAsset` to `MultiAsset` everywhere _(like this you are sure to use the correct library)_ - -You have to re-introduce the `token_id` as there are several collections now. - -Remove `totalSupply` and add two extra key sets `owner_token_ids` and `token_ids` - -Change the `storage` definition - -```ligolang -export type offer = { - quantity: nat, - price: nat -}; - -export type storage = { - administrators: set
, - offers: map<[address, nat], offer>, //user sells an offer for a token_id - - ledger: FA2Impl.Datatypes.ledger, - metadata: FA2Impl.TZIP16.metadata, - token_metadata: FA2Impl.TZIP12.tokenMetadata, - operators: FA2Impl.Datatypes.operators, -}; -``` - -Update `mint` function - -```ligolang -@entry -const mint = ( - [token_id, quantity, name, description, symbol, ipfsUrl]: [ - nat, - nat, - bytes, - bytes, - bytes, - bytes - ], - s: storage -): ret => { - if (quantity <= (0 as nat)) return failwith("0"); - if (! Set.mem(Tezos.get_sender(), s.administrators)) return failwith("1"); - const token_info: map = - Map.literal( - list( - [ - ["name", name], - ["description", description], - ["interfaces", (bytes `["TZIP-12"]`)], - ["artifactUri", ipfsUrl], - ["displayUri", ipfsUrl], - ["thumbnailUri", ipfsUrl], - ["symbol", symbol], - ["decimals", (bytes `0`)] - ] - ) - ) as map; - return [ - list([]) as list, - { - ...s, - ledger: Big_map.add( - [Tezos.get_sender(), token_id], - quantity as nat, - s.ledger - ) as FA2Impl.Datatypes.ledger, - token_metadata: Big_map.add( - token_id, - { token_id: token_id, token_info: token_info }, - s.token_metadata - ), - operators: Big_map.empty as FA2Impl.Datatypes.operators - } - ] -}; -``` - -You also need to update `sell` function - -```ligolang -@entry -const sell = ([token_id, quantity, price]: [nat, nat, nat], s: storage): ret => { - //check balance of seller - - const sellerBalance = - FA2Impl.Sidecar.get_for_user([s.ledger, Tezos.get_source(), token_id]); - if (quantity > sellerBalance) return failwith("2"); - //need to allow the contract itself to be an operator on behalf of the seller - - const newOperators = - FA2Impl.Sidecar.add_operator( - [s.operators, Tezos.get_source(), Tezos.get_self_address(), token_id] - ); - //DECISION CHOICE: if offer already exists, we just override it - - return [ - list([]) as list, - { - ...s, - offers: Map.add( - [Tezos.get_source(), token_id], - { quantity: quantity, price: price }, - s.offers - ), - operators: newOperators - } - ] -}; -``` - -Same for the `buy` function - -```ligolang -@entry -const buy = ([token_id, quantity, seller]: [nat, nat, address], s: storage): ret => { - //search for the offer - - return match(Map.find_opt([seller, token_id], s.offers)) { - when (None()): - failwith("3") - when (Some(offer)): - do { - //check if amount have been paid enough - - if (Tezos.get_amount() < offer.price * (1 as mutez)) return failwith( - "5" - ); - // prepare transfer of XTZ to seller - - const op = - Tezos.transaction( - unit, - offer.price * (1 as mutez), - Tezos.get_contract_with_error(seller, "6") - ); - //transfer tokens from seller to buyer - - let ledger = - FA2Impl.Sidecar.decrease_token_amount_for_user( - [s.ledger, seller, token_id, quantity] - ); - ledger - = FA2Impl.Sidecar.increase_token_amount_for_user( - [ledger, Tezos.get_source(), token_id, quantity] - ); - //update new offer - - const newOffer = { ...offer, quantity: abs(offer.quantity - quantity) }; - return [ - list([op]) as list, - { - ...s, - offers: Map.update([seller, token_id], Some(newOffer), s.offers), - ledger: ledger - } - ] - } - } -}; -``` - -Change the initial storage to - -```ligolang -#import "nft.jsligo" "Contract" - -const default_storage: Contract.storage = { - administrators: Set.literal( - list(["tz1VSUr8wwNhLAzempoch5d6hLRiTh8Cjcjb" as address]) - ) as set
, - offers: Map.empty as map<[address, nat], Contract.offer>, - ledger: Big_map.empty as Contract.FA2Impl.MultiAsset.ledger, - metadata: Big_map.literal( - list( - [ - ["", bytes `tezos-storage:data`], - [ - "data", - bytes - `{ - "name":"FA2 NFT Marketplace", - "description":"Example of FA2 implementation", - "version":"0.0.1", - "license":{"name":"MIT"}, - "authors":["Marigold"], - "homepage":"https://marigold.dev", - "source":{ - "tools":["Ligo"], - "location":"https://github.com/ligolang/contract-catalogue/tree/main/lib/fa2"}, - "interfaces":["TZIP-012"], - "errors": [], - "views": [] - }` - ] - ] - ) - ) as Contract.FA2Impl.TZIP16.metadata, - token_metadata: Big_map.empty as Contract.FA2Impl.TZIP12.tokenMetadata, - operators: Big_map.empty as Contract.FA2Impl.MultiAsset.operators, -}; -``` - -Compile again and deploy to ghostnet - -```bash -TAQ_LIGO_IMAGE=ligolang/ligo:1.0.0 taq compile nft.jsligo -taq deploy nft.tz -e "testing" -``` - -```logs -┌──────────┬──────────────────────────────────────┬───────┬──────────────────┬────────────────────────────────┐ -│ Contract │ Address │ Alias │ Balance In Mutez │ Destination │ -├──────────┼──────────────────────────────────────┼───────┼──────────────────┼────────────────────────────────┤ -│ nft.tz │ KT1KAkKJdbx9FGwYhKfWN3pHovX1mb3fQpC4 │ nft │ 0 │ https://ghostnet.ecadinfra.com │ -└──────────┴──────────────────────────────────────┴───────┴──────────────────┴────────────────────────────────┘ -``` - -**The smart contract _(backend)_ is finished** - -## NFT Marketplace front - -Generate Typescript classes and go to the frontend to run the server - -```bash -taq generate types ./app/src -cd ./app -yarn install -yarn dev -``` - -## Update in `App.tsx` - -Forget about `token_id == 0` and fetch back all tokens. -Replace the function `refreshUserContextOnPageReload` with the following content - -```typescript -const refreshUserContextOnPageReload = async () => { - console.log("refreshUserContext"); - //CONTRACT - try { - let c = await Tezos.contract.at(nftContractAddress, tzip12); - console.log("nftContractAddress", nftContractAddress); - - let nftContrat: NftWalletType = await Tezos.wallet.at( - nftContractAddress - ); - const storage = (await nftContrat.storage()) as Storage; - - const token_metadataBigMapId = ( - storage.token_metadata as unknown as { id: BigNumber } - ).id.toNumber(); - - const token_ids = await api.bigMapsGetKeys(token_metadataBigMapId, { - micheline: "Json", - active: true, - }); - await Promise.all( - token_ids.map(async (token_idKey) => { - const key: string = token_idKey.key; - - let tokenMetadata: TZIP21TokenMetadata = (await c - .tzip12() - .getTokenMetadata(Number(key))) as TZIP21TokenMetadata; - nftContratTokenMetadataMap.set(key, tokenMetadata); - }) - ); - setNftContratTokenMetadataMap(new Map(nftContratTokenMetadataMap)); //new Map to force refresh - setNftContrat(nftContrat); - setStorage(storage); - } catch (error) { - console.log("error refreshing nft contract: ", error); - } - - //USER - const activeAccount = await wallet.client.getActiveAccount(); - if (activeAccount) { - setUserAddress(activeAccount.address); - const balance = await Tezos.tz.getBalance(activeAccount.address); - setUserBalance(balance.toNumber()); - } - - console.log("refreshUserContext ended."); -}; -``` - -## Update in `MintPage.tsx` - -Just update the `mint` call and add the missing quantity, and add back the `token_id` counter incrementer - -```typescript -import { - AddCircleOutlined, - Close, - KeyboardArrowLeft, - KeyboardArrowRight, -} from "@mui/icons-material"; -import OpenWithIcon from "@mui/icons-material/OpenWith"; -import { - Box, - Button, - CardHeader, - CardMedia, - MobileStepper, - Stack, - SwipeableDrawer, - TextField, - Toolbar, - useMediaQuery, -} from "@mui/material"; -import Card from "@mui/material/Card"; -import CardContent from "@mui/material/CardContent"; -import Paper from "@mui/material/Paper"; -import Typography from "@mui/material/Typography"; -import { char2Bytes } from "@taquito/utils"; -import { BigNumber } from "bignumber.js"; -import { useFormik } from "formik"; -import { useSnackbar } from "notistack"; -import React, { useEffect, useState } from "react"; -import SwipeableViews from "react-swipeable-views"; -import * as yup from "yup"; -import { TZIP21TokenMetadata, UserContext, UserContextType } from "./App"; -import { TransactionInvalidBeaconError } from "./TransactionInvalidBeaconError"; -import { address, bytes, nat } from "./type-aliases"; - -export default function MintPage() { - const { - userAddress, - nftContrat, - refreshUserContextOnPageReload, - nftContratTokenMetadataMap, - storage, - } = React.useContext(UserContext) as UserContextType; - const { enqueueSnackbar } = useSnackbar(); - const [pictureUrl, setPictureUrl] = useState(""); - const [file, setFile] = useState(null); - - const [activeStep, setActiveStep] = React.useState(0); - - const handleNext = () => { - setActiveStep((prevActiveStep) => prevActiveStep + 1); - }; - - const handleBack = () => { - setActiveStep((prevActiveStep) => prevActiveStep - 1); - }; - - const handleStepChange = (step: number) => { - setActiveStep(step); - }; - - const validationSchema = yup.object({ - name: yup.string().required("Name is required"), - description: yup.string().required("Description is required"), - symbol: yup.string().required("Symbol is required"), - quantity: yup - .number() - .required("Quantity is required") - .positive("ERROR: The number must be greater than 0!"), - }); - - const formik = useFormik({ - initialValues: { - name: "", - description: "", - token_id: 0, - symbol: "WINE", - quantity: 1, - } as TZIP21TokenMetadata & { quantity: number }, - validationSchema: validationSchema, - onSubmit: (values) => { - mint(values); - }, - }); - - //open mint drawer if admin - useEffect(() => { - if (storage && storage!.administrators.indexOf(userAddress! as address) < 0) - setFormOpen(false); - else setFormOpen(true); - }, [userAddress]); - - useEffect(() => { - (async () => { - if (nftContratTokenMetadataMap && nftContratTokenMetadataMap.size > 0) { - formik.setFieldValue("token_id", nftContratTokenMetadataMap.size); - } - })(); - }, [nftContratTokenMetadataMap?.size]); - - const mint = async ( - newTokenDefinition: TZIP21TokenMetadata & { quantity: number } - ) => { - try { - //IPFS - if (file) { - const formData = new FormData(); - formData.append("file", file); - - const requestHeaders: HeadersInit = new Headers(); - requestHeaders.set( - "pinata_api_key", - `${import.meta.env.VITE_PINATA_API_KEY}` - ); - requestHeaders.set( - "pinata_secret_api_key", - `${import.meta.env.VITE_PINATA_API_SECRET}` - ); - - const resFile = await fetch( - "https://api.pinata.cloud/pinning/pinFileToIPFS", - { - method: "post", - body: formData, - headers: requestHeaders, - } - ); - - const responseJson = await resFile.json(); - console.log("responseJson", responseJson); - - const thumbnailUri = `ipfs://${responseJson.IpfsHash}`; - setPictureUrl( - `https://gateway.pinata.cloud/ipfs/${responseJson.IpfsHash}` - ); - - const op = await nftContrat!.methods - .mint( - new BigNumber(newTokenDefinition.token_id) as nat, - new BigNumber(newTokenDefinition.quantity) as nat, - char2Bytes(newTokenDefinition.name!) as bytes, - char2Bytes(newTokenDefinition.description!) as bytes, - char2Bytes(newTokenDefinition.symbol!) as bytes, - char2Bytes(thumbnailUri) as bytes - ) - .send(); - - //close directly the form - setFormOpen(false); - enqueueSnackbar( - "Wine collection is minting ... it will be ready on next block, wait for the confirmation message before minting another collection", - { variant: "info" } - ); - - await op.confirmation(2); - - enqueueSnackbar("Wine collection minted", { variant: "success" }); - - refreshUserContextOnPageReload(); //force all app to refresh the context - } - } catch (error) { - console.table(`Error: ${JSON.stringify(error, null, 2)}`); - let tibe: TransactionInvalidBeaconError = - new TransactionInvalidBeaconError(error); - enqueueSnackbar(tibe.data_message, { - variant: "error", - autoHideDuration: 10000, - }); - } - }; - - const [formOpen, setFormOpen] = useState(false); - - const toggleDrawer = - (open: boolean) => (event: React.KeyboardEvent | React.MouseEvent) => { - if ( - event.type === "keydown" && - ((event as React.KeyboardEvent).key === "Tab" || - (event as React.KeyboardEvent).key === "Shift") - ) { - return; - } - setFormOpen(open); - }; - - const isTablet = useMediaQuery("(min-width:600px)"); - - return ( - - {storage ? ( - - ) : ( - "" - )} - - - - - -
- - Mint a new collection - - - - - - - - - {pictureUrl ? ( - - ) : ( - "" - )} - - - - -
-
-
- - Mint your wine collection - - {nftContratTokenMetadataMap.size != 0 ? ( - - - {Array.from(nftContratTokenMetadataMap!.entries()).map( - ([token_id, token]) => ( - - - - - - - - {"ID : " + token_id} - {"Symbol : " + token.symbol} - - {"Description : " + token.description} - - - - - ) - )} - - - Next - - - } - backButton={ - - } - /> - - ) : ( - - Sorry, there is not NFT yet, you need to mint bottles first - - )} -
- ); -} -``` - -## Update in `OffersPage.tsx` - -Copy the content below, and paste it to `OffersPage.tsx` - -```typescript -import { InfoOutlined } from "@mui/icons-material"; -import SellIcon from "@mui/icons-material/Sell"; -import * as api from "@tzkt/sdk-api"; - -import { - Box, - Button, - Card, - CardActions, - CardContent, - CardHeader, - CardMedia, - ImageList, - InputAdornment, - Pagination, - TextField, - Tooltip, - Typography, - useMediaQuery, -} from "@mui/material"; -import Paper from "@mui/material/Paper"; -import BigNumber from "bignumber.js"; -import { useFormik } from "formik"; -import { useSnackbar } from "notistack"; -import React, { Fragment, useEffect, useState } from "react"; -import * as yup from "yup"; -import { UserContext, UserContextType } from "./App"; -import ConnectButton from "./ConnectWallet"; -import { TransactionInvalidBeaconError } from "./TransactionInvalidBeaconError"; -import { address, nat } from "./type-aliases"; - -const itemPerPage: number = 6; - -const validationSchema = yup.object({ - price: yup - .number() - .required("Price is required") - .positive("ERROR: The number must be greater than 0!"), - quantity: yup - .number() - .required("Quantity is required") - .positive("ERROR: The number must be greater than 0!"), -}); - -type Offer = { - price: nat; - quantity: nat; -}; - -export default function OffersPage() { - api.defaults.baseUrl = "https://api.ghostnet.tzkt.io"; - - const [selectedTokenId, setSelectedTokenId] = React.useState(0); - const [currentPageIndex, setCurrentPageIndex] = useState(1); - - let [offersTokenIDMap, setOffersTokenIDMap] = React.useState< - Map - >(new Map()); - let [ledgerTokenIDMap, setLedgerTokenIDMap] = React.useState< - Map - >(new Map()); - - const { - nftContrat, - nftContratTokenMetadataMap, - userAddress, - storage, - refreshUserContextOnPageReload, - Tezos, - setUserAddress, - setUserBalance, - wallet, - } = React.useContext(UserContext) as UserContextType; - - const { enqueueSnackbar } = useSnackbar(); - - const formik = useFormik({ - initialValues: { - price: 0, - quantity: 1, - }, - validationSchema: validationSchema, - onSubmit: (values) => { - console.log("onSubmit: (values)", values, selectedTokenId); - sell(selectedTokenId, values.quantity, values.price); - }, - }); - - const initPage = async () => { - if (storage) { - console.log("context is not empty, init page now"); - ledgerTokenIDMap = new Map(); - offersTokenIDMap = new Map(); - - const ledgerBigMapId = ( - storage.ledger as unknown as { id: BigNumber } - ).id.toNumber(); - - const owner_token_ids = await api.bigMapsGetKeys(ledgerBigMapId, { - micheline: "Json", - active: true, - }); - - await Promise.all( - owner_token_ids.map(async (owner_token_idKey) => { - const key: { address: string; nat: string } = owner_token_idKey.key; - - if (key.address === userAddress) { - const ownerBalance = await storage.ledger.get({ - 0: userAddress as address, - 1: BigNumber(key.nat) as nat, - }); - if (ownerBalance.toNumber() !== 0) - ledgerTokenIDMap.set(Number(key.nat), ownerBalance); - const ownerOffers = await storage.offers.get({ - 0: userAddress as address, - 1: BigNumber(key.nat) as nat, - }); - if (ownerOffers && ownerOffers.quantity.toNumber() !== 0) - offersTokenIDMap.set(Number(key.nat), ownerOffers); - - console.log( - "found for " + - key.address + - " on token_id " + - key.nat + - " with balance " + - ownerBalance - ); - } else { - console.log("skip to next owner"); - } - }) - ); - setLedgerTokenIDMap(new Map(ledgerTokenIDMap)); //force refresh - setOffersTokenIDMap(new Map(offersTokenIDMap)); //force refresh - - console.log("ledgerTokenIDMap", ledgerTokenIDMap); - } else { - console.log("context is empty, wait for parent and retry ..."); - } - }; - - useEffect(() => { - (async () => { - console.log("after a storage changed"); - await initPage(); - })(); - }, [storage]); - - useEffect(() => { - (async () => { - console.log("on Page init"); - await initPage(); - })(); - }, []); - - const sell = async (token_id: number, quantity: number, price: number) => { - try { - const op = await nftContrat?.methods - .sell( - BigNumber(token_id) as nat, - BigNumber(quantity) as nat, - BigNumber(price * 1000000) as nat //to mutez - ) - .send(); - - await op?.confirmation(2); - - enqueueSnackbar( - "Wine collection (token_id=" + - token_id + - ") offer for " + - quantity + - " units at price of " + - price + - " XTZ", - { variant: "success" } - ); - - refreshUserContextOnPageReload(); //force all app to refresh the context - } catch (error) { - console.table(`Error: ${JSON.stringify(error, null, 2)}`); - let tibe: TransactionInvalidBeaconError = - new TransactionInvalidBeaconError(error); - enqueueSnackbar(tibe.data_message, { - variant: "error", - autoHideDuration: 10000, - }); - } - }; - - const isDesktop = useMediaQuery("(min-width:1100px)"); - const isTablet = useMediaQuery("(min-width:600px)"); - - return ( - - - Sell my bottles - - {ledgerTokenIDMap && ledgerTokenIDMap.size != 0 ? ( - - setCurrentPageIndex(value)} - count={Math.ceil( - Array.from(ledgerTokenIDMap.entries()).length / itemPerPage - )} - showFirstButton - showLastButton - /> - - - {Array.from(ledgerTokenIDMap.entries()) - .filter((_, index) => - index >= currentPageIndex * itemPerPage - itemPerPage && - index < currentPageIndex * itemPerPage - ? true - : false - ) - .map(([token_id, balance]) => ( - - - - {" "} - {"ID : " + token_id.toString()}{" "} - - - {"Description : " + - nftContratTokenMetadataMap.get( - token_id.toString() - )?.description} - - - } - > - - - } - title={ - nftContratTokenMetadataMap.get(token_id.toString())?.name - } - /> - - - - - - {"Owned : " + balance.toNumber()} - - - {offersTokenIDMap.get(token_id) - ? "Traded : " + - offersTokenIDMap.get(token_id)?.quantity + - " (price : " + - offersTokenIDMap - .get(token_id) - ?.price.dividedBy(1000000) + - " Tz/b)" - : ""} - - - - - - {!userAddress ? ( - - - - ) : ( -
{ - setSelectedTokenId(token_id); - formik.handleSubmit(values); - }} - > - - - - - - ), - }} - /> - -
- )} -
-
- ))}{" "} -
-
- ) : ( - - Sorry, you don't own any bottles, buy or mint some first - - )} -
- ); -} -``` - -## Update in `WineCataloguePage.tsx` - -Copy the content below, and paste it to `WineCataloguePage.tsx` - -```typescript -import { InfoOutlined } from "@mui/icons-material"; -import ShoppingCartIcon from "@mui/icons-material/ShoppingCart"; -import { - Box, - Button, - Card, - CardActions, - CardContent, - CardHeader, - CardMedia, - ImageList, - InputAdornment, - Pagination, - TextField, - Tooltip, - useMediaQuery, -} from "@mui/material"; -import Paper from "@mui/material/Paper"; -import Typography from "@mui/material/Typography"; - -import BigNumber from "bignumber.js"; -import { useFormik } from "formik"; -import { useSnackbar } from "notistack"; -import React, { Fragment, useState } from "react"; -import * as yup from "yup"; -import { UserContext, UserContextType } from "./App"; -import ConnectButton from "./ConnectWallet"; -import { TransactionInvalidBeaconError } from "./TransactionInvalidBeaconError"; -import { address, nat } from "./type-aliases"; - -const itemPerPage: number = 6; - -type OfferEntry = [{ 0: address; 1: nat }, Offer]; - -type Offer = { - price: nat; - quantity: nat; -}; - -const validationSchema = yup.object({ - quantity: yup - .number() - .required("Quantity is required") - .positive("ERROR: The number must be greater than 0!"), -}); - -export default function WineCataloguePage() { - const { - Tezos, - nftContratTokenMetadataMap, - setUserAddress, - setUserBalance, - wallet, - userAddress, - nftContrat, - refreshUserContextOnPageReload, - storage, - } = React.useContext(UserContext) as UserContextType; - const [selectedOfferEntry, setSelectedOfferEntry] = - React.useState(null); - - const formik = useFormik({ - initialValues: { - quantity: 1, - }, - validationSchema: validationSchema, - onSubmit: (values) => { - console.log("onSubmit: (values)", values, selectedOfferEntry); - buy(values.quantity, selectedOfferEntry!); - }, - }); - const { enqueueSnackbar } = useSnackbar(); - const [currentPageIndex, setCurrentPageIndex] = useState(1); - - const buy = async (quantity: number, selectedOfferEntry: OfferEntry) => { - try { - const op = await nftContrat?.methods - .buy( - selectedOfferEntry[0][1], - BigNumber(quantity) as nat, - selectedOfferEntry[0][0] - ) - .send({ - amount: quantity * selectedOfferEntry[1].price.toNumber(), - mutez: true, - }); - - await op?.confirmation(2); - - enqueueSnackbar( - "Bought " + - quantity + - " unit of Wine collection (token_id:" + - selectedOfferEntry[0][1] + - ")", - { - variant: "success", - } - ); - - refreshUserContextOnPageReload(); //force all app to refresh the context - } catch (error) { - console.table(`Error: ${JSON.stringify(error, null, 2)}`); - let tibe: TransactionInvalidBeaconError = - new TransactionInvalidBeaconError(error); - enqueueSnackbar(tibe.data_message, { - variant: "error", - autoHideDuration: 10000, - }); - } - }; - const isDesktop = useMediaQuery("(min-width:1100px)"); - const isTablet = useMediaQuery("(min-width:600px)"); - return ( - - - Wine catalogue - - - {storage?.offers && storage?.offers.size != 0 ? ( - - setCurrentPageIndex(value)} - count={Math.ceil( - Array.from(storage?.offers.entries()).filter(([_, offer]) => - offer.quantity.isGreaterThan(0) - ).length / itemPerPage - )} - showFirstButton - showLastButton - /> - - {Array.from(storage?.offers.entries()) - .filter(([_, offer]) => offer.quantity.isGreaterThan(0)) - .filter((_, index) => - index >= currentPageIndex * itemPerPage - itemPerPage && - index < currentPageIndex * itemPerPage - ? true - : false - ) - .map(([key, offer]) => ( - - - - {" "} - {"ID : " + key[1].toString()}{" "} - - - {"Description : " + - nftContratTokenMetadataMap.get( - key[1].toString() - )?.description} - - {"Seller : " + key[0]} - - } - > - - - } - title={ - nftContratTokenMetadataMap.get(key[1].toString())?.name - } - /> - - - - - - {" "} - {"Price : " + - offer.price.dividedBy(1000000) + - " XTZ/bottle"} - - - {"Available units : " + offer.quantity} - - - - - - {!userAddress ? ( - - - - ) : ( -
{ - setSelectedOfferEntry([key, offer]); - formik.handleSubmit(values); - }} - > - - - - ), - }} - /> - - )} -
-
- ))} -
-
- ) : ( - - Sorry, there is not NFT to buy yet, you need to mint or sell bottles - first - - )} -
- ); -} -``` - -## Let's play - -- Connect with your wallet and choose **alice** account _(or one of the administrators you set on the smart contract earlier)_. You are redirected to the Administration/mint page as there is no NFT minted yet -- Create an asset, for example : - - `name`: Saint Emilion - Franc la Rose - - `symbol`: SEMIL - - `description`: Grand cru 2007 - - `quantity`: 1000 -- Click on **Upload an image** and select a bottle picture on your computer -- Click on the Mint button - -![minting.png](/img/tutorials/minting.png) - -Your picture is pushed to IPFS and is displayed, then your wallet asks you to sign the `mint` operation. - -- Confirm operation -- Wait less than 1 minute to get the confirmation notification, the page is automatically refreshed - -![minted_part4.png](/img/tutorials/minted_part4.png) - -Now you can see the **Trading** menu and the **Bottle offers** sub-menu - -Click on the sub-menu entry - -You are the owner of this bottle so you can create an offer on it - -- Enter a quantity -- Enter a price offer -- Click on **SELL** button -- Wait a bit for the confirmation, then once automatically refreshed you have an offer attached to your NFT! - -![sell_part4.png](/img/tutorials/sell_part4.png) - -For buying, - -- Disconnect from your user and connect with another account _(who has enough XTZ to buy at least 1 bottle)_ -- The buyer will see that Alice is selling some bottles from the unique collection -- Buy some bottles while clicking on the **BUY** button -- Wait for the confirmation, then the offer is updated on the market _(depending on how many bottles you bought)_ -- Click on the **bottle offers** submenu -- You are now the owner of some bottles, you can resell a part of it at your own price, etc ... - -![buy_part4.png](/img/tutorials/buy_part4.png) - -To add more collections, go to the Mint page and repeat the process. - -## Conclusion - -You are able to use any NFT template from the Ligo library. - -Congratulations! +## Updating the smart contract + +To use the multi-asset template, you must change the code that your smart contract imports from the NFT template to the multi-asset template: + +1. In the `nft.jsligo` file, change the first line to this code: + + ```jsligo + #import "@ligo/fa/lib/fa2/asset/multi_asset.impl.jsligo" "FA2Impl" + ``` + +1. In the storage type, change the `offers` value to `map<[address, nat], offer>` and remove the `totalSupply` field. + The storage type looks like this: + + ```ligolang + export type storage = { + administrators: set
, + offers: map<[address, nat], offer>, //user sells an offer for a token_id + + ledger: FA2Impl.MultiAsset.ledger, + metadata: FA2Impl.TZIP16.metadata, + token_metadata: FA2Impl.TZIP12.tokenMetadata, + operators: FA2Impl.MultiAsset.operators, + }; + ``` + +Now the offers map is indexed on the address of the seller and the ID of the token for sale. + +1. Replace all references to `FA2Impl.SingleAsset` in the contract with `FA2Impl.MultiAsset`. + You can do a find-replace in the contract to change these values. + +1. Replace the `mint` entrypoint with this code: + + ```ligolang + @entry + const mint = ( + [token_id, quantity, name, description, symbol, ipfsUrl]: [ + nat, + nat, + bytes, + bytes, + bytes, + bytes + ], + s: storage + ): ret => { + if (quantity <= (0 as nat)) return failwith("0"); + if (! Set.mem(Tezos.get_sender(), s.administrators)) return failwith("1"); + const token_info: map = + Map.literal( + list( + [ + ["name", name], + ["description", description], + ["interfaces", (bytes `["TZIP-12"]`)], + ["artifactUri", ipfsUrl], + ["displayUri", ipfsUrl], + ["thumbnailUri", ipfsUrl], + ["symbol", symbol], + ["decimals", (bytes `0`)] + ] + ) + ) as map; + return [ + list([]) as list, + { + ...s, + ledger: Big_map.add( + [Tezos.get_sender(), token_id], + quantity as nat, + s.ledger + ) as FA2Impl.MultiAsset.ledger, + token_metadata: Big_map.add( + token_id, + { token_id: token_id, token_info: token_info }, + s.token_metadata + ), + operators: Big_map.empty as FA2Impl.MultiAsset.operators + } + ] + }; + ``` + + This updated mint entrypoint accepts both a token ID and a quantity and mints the specified number of that token. + +1. Replace the `sell` entrypoint with this code: + + ```ligolang + @entry + const sell = ([token_id, quantity, price]: [nat, nat, nat], s: storage): ret => { + //check balance of seller + + const sellerBalance = + FA2Impl.MultiAsset.get_for_user([s.ledger, Tezos.get_source(), token_id]); + if (quantity > sellerBalance) return failwith("2"); + //need to allow the contract itself to be an operator on behalf of the seller + + const newOperators = + FA2Impl.MultiAsset.add_operator( + [s.operators, Tezos.get_source(), Tezos.get_self_address(), token_id] + ); + //DECISION CHOICE: if offer already exists, we just override it + + return [ + list([]) as list, + { + ...s, + offers: Map.add( + [Tezos.get_source(), token_id], + { quantity: quantity, price: price }, + s.offers + ), + operators: newOperators + } + ] + }; + ``` + + Like the mint entrypoint, this entrypoint now accepts a token ID and quantity as parameters. + +1. Replace the `buy` entrypoint with this code: + + ```ligolang + @entry + const buy = ([token_id, quantity, seller]: [nat, nat, address], s: storage): ret => { + //search for the offer + + return match(Map.find_opt([seller, token_id], s.offers)) { + when (None()): + failwith("3") + when (Some(offer)): + do { + //check if amount have been paid enough + + if (Tezos.get_amount() < offer.price * (1 as mutez)) return failwith( + "5" + ); + // prepare transfer of XTZ to seller + + const op = + Tezos.transaction( + unit, + offer.price * (1 as mutez), + Tezos.get_contract_with_error(seller, "6") + ); + //transfer tokens from seller to buyer + + let ledger = + FA2Impl.MultiAsset.decrease_token_amount_for_user( + [s.ledger, seller, token_id, quantity] + ); + ledger + = FA2Impl.MultiAsset.increase_token_amount_for_user( + [ledger, Tezos.get_source(), token_id, quantity] + ); + //update new offer + + const newOffer = { ...offer, quantity: abs(offer.quantity - quantity) }; + return [ + list([op]) as list, + { + ...s, + offers: Map.update([seller, token_id], Some(newOffer), s.offers), + ledger: ledger + } + ] + } + } + }; + ``` + +1. Update the `nft.storageList.jsligo` with this code: + + ```ligolang + #import "nft.jsligo" "Contract" + + const default_storage: Contract.storage = { + administrators: Set.literal( + list(["tz1VSUr8wwNhLAzempoch5d6hLRiTh8Cjcjb" as address]) + ) as set
, + offers: Map.empty as map<[address, nat], Contract.offer>, + ledger: Big_map.empty as Contract.FA2Impl.MultiAsset.ledger, + metadata: Big_map.literal( + list( + [ + ["", bytes `tezos-storage:data`], + [ + "data", + bytes + `{ + "name":"FA2 NFT Marketplace", + "description":"Example of FA2 implementation", + "version":"0.0.1", + "license":{"name":"MIT"}, + "authors":["Marigold"], + "homepage":"https://marigold.dev", + "source":{ + "tools":["Ligo"], + "location":"https://github.com/ligolang/contract-catalogue/tree/main/lib/fa2"}, + "interfaces":["TZIP-012"], + "errors": [], + "views": [] + }` + ] + ] + ) + ) as Contract.FA2Impl.TZIP16.metadata, + token_metadata: Big_map.empty as Contract.FA2Impl.TZIP12.tokenMetadata, + operators: Big_map.empty as Contract.FA2Impl.MultiAsset.operators, + }; + ``` + +1. As in the previous parts, update the administrators to include addresses that you have access to. + +1. Compile and deploy the new contract: + + ```bash + TAQ_LIGO_IMAGE=ligolang/ligo:1.1.0 taq compile nft.jsligo + taq deploy nft.tz -e "testing" + ``` + +## Updating the frontend + +Now that the contract handles both token IDs and quantities, you must update the frontend in the same way: + +1. Generate the TypeScript classes and start the server: + + ```bash + taq generate types ./app/src + cd ./app + yarn dev + ``` + +1. In the file `src/App.tsx`, replace the function `refreshUserContextOnPageReload` with this code: + + ```typescript + const refreshUserContextOnPageReload = async () => { + console.log("refreshUserContext"); + //CONTRACT + try { + let c = await Tezos.contract.at(nftContractAddress, tzip12); + console.log("nftContractAddress", nftContractAddress); + + let nftContrat: NftWalletType = await Tezos.wallet.at( + nftContractAddress + ); + const storage = (await nftContrat.storage()) as Storage; + + const token_metadataBigMapId = ( + storage.token_metadata as unknown as { id: BigNumber } + ).id.toNumber(); + + const token_ids = await api.bigMapsGetKeys(token_metadataBigMapId, { + micheline: "Json", + active: true, + }); + await Promise.all( + token_ids.map(async (token_idKey) => { + const key: string = token_idKey.key; + + let tokenMetadata: TZIP21TokenMetadata = (await c + .tzip12() + .getTokenMetadata(Number(key))) as TZIP21TokenMetadata; + nftContratTokenMetadataMap.set(key, tokenMetadata); + }) + ); + setNftContratTokenMetadataMap(new Map(nftContratTokenMetadataMap)); //new Map to force refresh + setNftContrat(nftContrat); + setStorage(storage); + } catch (error) { + console.log("error refreshing nft contract: ", error); + } + + //USER + const activeAccount = await wallet.client.getActiveAccount(); + if (activeAccount) { + setUserAddress(activeAccount.address); + const balance = await Tezos.tz.getBalance(activeAccount.address); + setUserBalance(balance.toNumber()); + } + + console.log("refreshUserContext ended."); + }; + ``` + + This function now retrieves all of the tokens in the contract. + +1. Replace the content of the `src/MintPage.tsx` file with this code: + + ```typescript + import { + AddCircleOutlined, + Close, + KeyboardArrowLeft, + KeyboardArrowRight, + } from "@mui/icons-material"; + import OpenWithIcon from "@mui/icons-material/OpenWith"; + import { + Box, + Button, + CardHeader, + CardMedia, + MobileStepper, + Stack, + SwipeableDrawer, + TextField, + Toolbar, + useMediaQuery, + } from "@mui/material"; + import Card from "@mui/material/Card"; + import CardContent from "@mui/material/CardContent"; + import Paper from "@mui/material/Paper"; + import Typography from "@mui/material/Typography"; + import { char2Bytes } from "@taquito/utils"; + import { BigNumber } from "bignumber.js"; + import { useFormik } from "formik"; + import { useSnackbar } from "notistack"; + import React, { useEffect, useState } from "react"; + import SwipeableViews from "react-swipeable-views"; + import * as yup from "yup"; + import { TZIP21TokenMetadata, UserContext, UserContextType } from "./App"; + import { TransactionInvalidBeaconError } from "./TransactionInvalidBeaconError"; + import { address, bytes, nat } from "./type-aliases"; + + export default function MintPage() { + const { + userAddress, + nftContrat, + refreshUserContextOnPageReload, + nftContratTokenMetadataMap, + storage, + } = React.useContext(UserContext) as UserContextType; + const { enqueueSnackbar } = useSnackbar(); + const [pictureUrl, setPictureUrl] = useState(""); + const [file, setFile] = useState(null); + + const [activeStep, setActiveStep] = React.useState(0); + + const handleNext = () => { + setActiveStep((prevActiveStep) => prevActiveStep + 1); + }; + + const handleBack = () => { + setActiveStep((prevActiveStep) => prevActiveStep - 1); + }; + + const handleStepChange = (step: number) => { + setActiveStep(step); + }; + + const validationSchema = yup.object({ + name: yup.string().required("Name is required"), + description: yup.string().required("Description is required"), + symbol: yup.string().required("Symbol is required"), + quantity: yup + .number() + .required("Quantity is required") + .positive("ERROR: The number must be greater than 0!"), + }); + + const formik = useFormik({ + initialValues: { + name: "", + description: "", + token_id: 0, + symbol: "WINE", + quantity: 1, + } as TZIP21TokenMetadata & { quantity: number }, + validationSchema: validationSchema, + onSubmit: (values) => { + mint(values); + }, + }); + + //open mint drawer if admin + useEffect(() => { + if ( + storage && + storage!.administrators.indexOf(userAddress! as address) < 0 + ) + setFormOpen(false); + else setFormOpen(true); + }, [userAddress]); + + useEffect(() => { + (async () => { + if ( + nftContratTokenMetadataMap && + nftContratTokenMetadataMap.size > 0 + ) { + formik.setFieldValue("token_id", nftContratTokenMetadataMap.size); + } + })(); + }, [nftContratTokenMetadataMap?.size]); + + const mint = async ( + newTokenDefinition: TZIP21TokenMetadata & { quantity: number } + ) => { + try { + //IPFS + if (file) { + const formData = new FormData(); + formData.append("file", file); + + const requestHeaders: HeadersInit = new Headers(); + requestHeaders.set( + "pinata_api_key", + `${import.meta.env.VITE_PINATA_API_KEY}` + ); + requestHeaders.set( + "pinata_secret_api_key", + `${import.meta.env.VITE_PINATA_API_SECRET}` + ); + + const resFile = await fetch( + "https://api.pinata.cloud/pinning/pinFileToIPFS", + { + method: "post", + body: formData, + headers: requestHeaders, + } + ); + + const responseJson = await resFile.json(); + console.log("responseJson", responseJson); + + const thumbnailUri = `ipfs://${responseJson.IpfsHash}`; + setPictureUrl( + `https://gateway.pinata.cloud/ipfs/${responseJson.IpfsHash}` + ); + + const op = await nftContrat!.methods + .mint( + new BigNumber(newTokenDefinition.token_id) as nat, + new BigNumber(newTokenDefinition.quantity) as nat, + char2Bytes(newTokenDefinition.name!) as bytes, + char2Bytes(newTokenDefinition.description!) as bytes, + char2Bytes(newTokenDefinition.symbol!) as bytes, + char2Bytes(thumbnailUri) as bytes + ) + .send(); + + //close directly the form + setFormOpen(false); + enqueueSnackbar( + "Wine collection is minting ... it will be ready on next block, wait for the confirmation message before minting another collection", + { variant: "info" } + ); + + await op.confirmation(2); + + enqueueSnackbar("Wine collection minted", { variant: "success" }); + + refreshUserContextOnPageReload(); //force all app to refresh the context + } + } catch (error) { + console.table(`Error: ${JSON.stringify(error, null, 2)}`); + let tibe: TransactionInvalidBeaconError = + new TransactionInvalidBeaconError(error); + enqueueSnackbar(tibe.data_message, { + variant: "error", + autoHideDuration: 10000, + }); + } + }; + + const [formOpen, setFormOpen] = useState(false); + + const toggleDrawer = + (open: boolean) => (event: React.KeyboardEvent | React.MouseEvent) => { + if ( + event.type === "keydown" && + ((event as React.KeyboardEvent).key === "Tab" || + (event as React.KeyboardEvent).key === "Shift") + ) { + return; + } + setFormOpen(open); + }; + + const isTablet = useMediaQuery("(min-width:600px)"); + + return ( + + {storage ? ( + + ) : ( + "" + )} + + + + + +
+ + Mint a new collection + + + + + + + + + {pictureUrl ? ( + + ) : ( + "" + )} + + + + +
+
+
+ + Mint your wine collection + + {nftContratTokenMetadataMap.size != 0 ? ( + + + {Array.from(nftContratTokenMetadataMap!.entries()).map( + ([token_id, token]) => ( + + + + + + + + {"ID : " + token_id} + {"Symbol : " + token.symbol} + + {"Description : " + token.description} + + + + + ) + )} + + + Next + + + } + backButton={ + + } + /> + + ) : ( + + Sorry, there is not NFT yet, you need to mint bottles first + + )} +
+ ); + } + ``` + +1. Replace the content of the `src/OffersPage.tsx` file with this code: + + ```typescript + import { InfoOutlined } from "@mui/icons-material"; + import SellIcon from "@mui/icons-material/Sell"; + import * as api from "@tzkt/sdk-api"; + + import { + Box, + Button, + Card, + CardActions, + CardContent, + CardHeader, + CardMedia, + ImageList, + InputAdornment, + Pagination, + TextField, + Tooltip, + Typography, + useMediaQuery, + } from "@mui/material"; + import Paper from "@mui/material/Paper"; + import BigNumber from "bignumber.js"; + import { useFormik } from "formik"; + import { useSnackbar } from "notistack"; + import React, { Fragment, useEffect, useState } from "react"; + import * as yup from "yup"; + import { UserContext, UserContextType } from "./App"; + import ConnectButton from "./ConnectWallet"; + import { TransactionInvalidBeaconError } from "./TransactionInvalidBeaconError"; + import { address, nat } from "./type-aliases"; + + const itemPerPage: number = 6; + + const validationSchema = yup.object({ + price: yup + .number() + .required("Price is required") + .positive("ERROR: The number must be greater than 0!"), + quantity: yup + .number() + .required("Quantity is required") + .positive("ERROR: The number must be greater than 0!"), + }); + + type Offer = { + price: nat; + quantity: nat; + }; + + export default function OffersPage() { + api.defaults.baseUrl = "https://api.ghostnet.tzkt.io"; + + const [selectedTokenId, setSelectedTokenId] = React.useState(0); + const [currentPageIndex, setCurrentPageIndex] = useState(1); + + let [offersTokenIDMap, setOffersTokenIDMap] = React.useState< + Map + >(new Map()); + let [ledgerTokenIDMap, setLedgerTokenIDMap] = React.useState< + Map + >(new Map()); + + const { + nftContrat, + nftContratTokenMetadataMap, + userAddress, + storage, + refreshUserContextOnPageReload, + Tezos, + setUserAddress, + setUserBalance, + wallet, + } = React.useContext(UserContext) as UserContextType; + + const { enqueueSnackbar } = useSnackbar(); + + const formik = useFormik({ + initialValues: { + price: 0, + quantity: 1, + }, + validationSchema: validationSchema, + onSubmit: (values) => { + console.log("onSubmit: (values)", values, selectedTokenId); + sell(selectedTokenId, values.quantity, values.price); + }, + }); + + const initPage = async () => { + if (storage) { + console.log("context is not empty, init page now"); + ledgerTokenIDMap = new Map(); + offersTokenIDMap = new Map(); + + const ledgerBigMapId = ( + storage.ledger as unknown as { id: BigNumber } + ).id.toNumber(); + + const owner_token_ids = await api.bigMapsGetKeys(ledgerBigMapId, { + micheline: "Json", + active: true, + }); + + await Promise.all( + owner_token_ids.map(async (owner_token_idKey) => { + const key: { address: string; nat: string } = + owner_token_idKey.key; + + if (key.address === userAddress) { + const ownerBalance = await storage.ledger.get({ + 0: userAddress as address, + 1: BigNumber(key.nat) as nat, + }); + if (ownerBalance.toNumber() !== 0) + ledgerTokenIDMap.set(Number(key.nat), ownerBalance); + const ownerOffers = await storage.offers.get({ + 0: userAddress as address, + 1: BigNumber(key.nat) as nat, + }); + if (ownerOffers && ownerOffers.quantity.toNumber() !== 0) + offersTokenIDMap.set(Number(key.nat), ownerOffers); + + console.log( + "found for " + + key.address + + " on token_id " + + key.nat + + " with balance " + + ownerBalance + ); + } else { + console.log("skip to next owner"); + } + }) + ); + setLedgerTokenIDMap(new Map(ledgerTokenIDMap)); //force refresh + setOffersTokenIDMap(new Map(offersTokenIDMap)); //force refresh + + console.log("ledgerTokenIDMap", ledgerTokenIDMap); + } else { + console.log("context is empty, wait for parent and retry ..."); + } + }; + + useEffect(() => { + (async () => { + console.log("after a storage changed"); + await initPage(); + })(); + }, [storage]); + + useEffect(() => { + (async () => { + console.log("on Page init"); + await initPage(); + })(); + }, []); + + const sell = async (token_id: number, quantity: number, price: number) => { + try { + const op = await nftContrat?.methods + .sell( + BigNumber(token_id) as nat, + BigNumber(quantity) as nat, + BigNumber(price * 1000000) as nat //to mutez + ) + .send(); + + await op?.confirmation(2); + + enqueueSnackbar( + "Wine collection (token_id=" + + token_id + + ") offer for " + + quantity + + " units at price of " + + price + + " XTZ", + { variant: "success" } + ); + + refreshUserContextOnPageReload(); //force all app to refresh the context + } catch (error) { + console.table(`Error: ${JSON.stringify(error, null, 2)}`); + let tibe: TransactionInvalidBeaconError = + new TransactionInvalidBeaconError(error); + enqueueSnackbar(tibe.data_message, { + variant: "error", + autoHideDuration: 10000, + }); + } + }; + + const isDesktop = useMediaQuery("(min-width:1100px)"); + const isTablet = useMediaQuery("(min-width:600px)"); + + return ( + + + Sell my bottles + + {ledgerTokenIDMap && ledgerTokenIDMap.size != 0 ? ( + + setCurrentPageIndex(value)} + count={Math.ceil( + Array.from(ledgerTokenIDMap.entries()).length / itemPerPage + )} + showFirstButton + showLastButton + /> + + + {Array.from(ledgerTokenIDMap.entries()) + .filter((_, index) => + index >= currentPageIndex * itemPerPage - itemPerPage && + index < currentPageIndex * itemPerPage + ? true + : false + ) + .map(([token_id, balance]) => ( + + + + {" "} + {"ID : " + token_id.toString()}{" "} + + + {"Description : " + + nftContratTokenMetadataMap.get( + token_id.toString() + )?.description} + + + } + > + + + } + title={ + nftContratTokenMetadataMap.get(token_id.toString()) + ?.name + } + /> + + + + + + {"Owned : " + balance.toNumber()} + + + {offersTokenIDMap.get(token_id) + ? "Traded : " + + offersTokenIDMap.get(token_id)?.quantity + + " (price : " + + offersTokenIDMap + .get(token_id) + ?.price.dividedBy(1000000) + + " Tz/b)" + : ""} + + + + + + {!userAddress ? ( + + + + ) : ( +
{ + setSelectedTokenId(token_id); + formik.handleSubmit(values); + }} + > + + + + + + ), + }} + /> + +
+ )} +
+
+ ))}{" "} +
+
+ ) : ( + + Sorry, you don't own any bottles, buy or mint some first + + )} +
+ ); + } + ``` + +1. Replace the content of the `src/WineCataloguePage.tsx` file with this code: + + ```typescript + import { InfoOutlined } from "@mui/icons-material"; + import ShoppingCartIcon from "@mui/icons-material/ShoppingCart"; + import { + Box, + Button, + Card, + CardActions, + CardContent, + CardHeader, + CardMedia, + ImageList, + InputAdornment, + Pagination, + TextField, + Tooltip, + useMediaQuery, + } from "@mui/material"; + import Paper from "@mui/material/Paper"; + import Typography from "@mui/material/Typography"; + + import BigNumber from "bignumber.js"; + import { useFormik } from "formik"; + import { useSnackbar } from "notistack"; + import React, { Fragment, useState } from "react"; + import * as yup from "yup"; + import { UserContext, UserContextType } from "./App"; + import ConnectButton from "./ConnectWallet"; + import { TransactionInvalidBeaconError } from "./TransactionInvalidBeaconError"; + import { address, nat } from "./type-aliases"; + + const itemPerPage: number = 6; + + type OfferEntry = [{ 0: address; 1: nat }, Offer]; + + type Offer = { + price: nat; + quantity: nat; + }; + + const validationSchema = yup.object({ + quantity: yup + .number() + .required("Quantity is required") + .positive("ERROR: The number must be greater than 0!"), + }); + + export default function WineCataloguePage() { + const { + Tezos, + nftContratTokenMetadataMap, + setUserAddress, + setUserBalance, + wallet, + userAddress, + nftContrat, + refreshUserContextOnPageReload, + storage, + } = React.useContext(UserContext) as UserContextType; + const [selectedOfferEntry, setSelectedOfferEntry] = + React.useState(null); + + const formik = useFormik({ + initialValues: { + quantity: 1, + }, + validationSchema: validationSchema, + onSubmit: (values) => { + console.log("onSubmit: (values)", values, selectedOfferEntry); + buy(values.quantity, selectedOfferEntry!); + }, + }); + const { enqueueSnackbar } = useSnackbar(); + const [currentPageIndex, setCurrentPageIndex] = useState(1); + + const buy = async (quantity: number, selectedOfferEntry: OfferEntry) => { + try { + const op = await nftContrat?.methods + .buy( + selectedOfferEntry[0][1], + BigNumber(quantity) as nat, + selectedOfferEntry[0][0] + ) + .send({ + amount: quantity * selectedOfferEntry[1].price.toNumber(), + mutez: true, + }); + + await op?.confirmation(2); + + enqueueSnackbar( + "Bought " + + quantity + + " unit of Wine collection (token_id:" + + selectedOfferEntry[0][1] + + ")", + { + variant: "success", + } + ); + + refreshUserContextOnPageReload(); //force all app to refresh the context + } catch (error) { + console.table(`Error: ${JSON.stringify(error, null, 2)}`); + let tibe: TransactionInvalidBeaconError = + new TransactionInvalidBeaconError(error); + enqueueSnackbar(tibe.data_message, { + variant: "error", + autoHideDuration: 10000, + }); + } + }; + const isDesktop = useMediaQuery("(min-width:1100px)"); + const isTablet = useMediaQuery("(min-width:600px)"); + return ( + + + Wine catalogue + + + {storage?.offers && storage?.offers.size != 0 ? ( + + setCurrentPageIndex(value)} + count={Math.ceil( + Array.from(storage?.offers.entries()).filter(([_, offer]) => + offer.quantity.isGreaterThan(0) + ).length / itemPerPage + )} + showFirstButton + showLastButton + /> + + {Array.from(storage?.offers.entries()) + .filter(([_, offer]) => offer.quantity.isGreaterThan(0)) + .filter((_, index) => + index >= currentPageIndex * itemPerPage - itemPerPage && + index < currentPageIndex * itemPerPage + ? true + : false + ) + .map(([key, offer]) => ( + + + + {" "} + {"ID : " + key[1].toString()}{" "} + + + {"Description : " + + nftContratTokenMetadataMap.get( + key[1].toString() + )?.description} + + {"Seller : " + key[0]} + + } + > + + + } + title={ + nftContratTokenMetadataMap.get(key[1].toString())?.name + } + /> + + + + + + {" "} + {"Price : " + + offer.price.dividedBy(1000000) + + " XTZ/bottle"} + + + {"Available units : " + offer.quantity} + + + + + + {!userAddress ? ( + + + + ) : ( +
{ + setSelectedOfferEntry([key, offer]); + formik.handleSubmit(values); + }} + > + + + + ), + }} + /> + + )} +
+
+ ))} +
+
+ ) : ( + + Sorry, there is not NFT to buy yet, you need to mint or sell + bottles first + + )} +
+ ); + } + ``` + +## Working with the completed application + +Now you can create, buy, and sell bottles of wine as in the applications in the previous parts. +For example, if you connect an administrator account you can create types of wine with quantities and offer them for sale. +Then you can connect a different account and buy bottles from the different types that are available, as in this picture: + +![Buying bottles from the different types that are available](/img/tutorials/nft-marketplace-4-buy.png) + +## Summary + +Now you can create token collections from the different templates that are available in the `@ligo/fa` library, including NFTs, single-asset tokens, and multi-asset tokens. +You can create web applications that manage token transactions and show information about tokens. + +For the complete content of the contract and web app at the end of the tutorial, see the completed part 4 app at https://github.com/marigold-dev/training-nft-4. + +If you want to continue with the application, you can extend the contract or application. +Here are some ideas: + +- Create an online marketplace for a different kind of token, like flowers, candy, or cars +- Change how tokens behave, like sending a royalty to the marketplace as a sales fee when they are transferred +- Add error checking for the application to prevent it from sending invalid transactions +- Add new features to the marketplace, such as a shopping cart that lets people buy more than one kind of bottle at a time diff --git a/docs/tutorials/create-an-nft/nft-taquito.md b/docs/tutorials/create-an-nft/nft-taquito.md index b4d6d7e3f..9ca67b04d 100644 --- a/docs/tutorials/create-an-nft/nft-taquito.md +++ b/docs/tutorials/create-an-nft/nft-taquito.md @@ -702,3 +702,5 @@ const op = await contract.methods You can also optimize the application by generating the IPFS hashes on the client side before pinning them. If the mint transaction fails, it may leave unused metadata in your IPFS account. To avoid this problem, you can start an IPFS node in the browser, pin the metadata there, mint the NFT, and pin the metadata to your Pinata account only if the mint transaction succeeds. + +If you want to continue working with NFTs in a more complex way, try creating a marketplace for tokens as described in the tutorial [Build an NFT Marketplace](../build-an-nft-marketplace). diff --git a/docs/tutorials/create-an-nft/nft-tznft.md b/docs/tutorials/create-an-nft/nft-tznft.md index 231d4df18..72ad7edb9 100644 --- a/docs/tutorials/create-an-nft/nft-tznft.md +++ b/docs/tutorials/create-an-nft/nft-tznft.md @@ -518,7 +518,4 @@ tznft transfer --nft my_collection --signer my-account --batch 'my-account, othe Now you can create, test, and deploy NFTs locally and to testnets. The process for minting NFTs to Tezos Mainnet is the same, but you must use an account with real XTZ in it to pay the transaction fees. - +If you want to continue working with NFTs, try creating a marketplace for tokens as described in the tutorial [Build an NFT Marketplace](../build-an-nft-marketplace). diff --git a/docs/tutorials/create-an-nft/nft-web-app/lets-play.md b/docs/tutorials/create-an-nft/nft-web-app/lets-play.md index f3b96b309..3912ec7ab 100644 --- a/docs/tutorials/create-an-nft/nft-web-app/lets-play.md +++ b/docs/tutorials/create-an-nft/nft-web-app/lets-play.md @@ -47,6 +47,7 @@ Once finished, if you wish to mint another NFT, simply click the "Mint another N ![The mint-another-NFT interface section ](/img/tutorials/mint_another.png "mint another UI") +## Summary - - +Now you can use a web application to connect to a user's wallet, call a smart contract, and mint NFTs. +If you want to expand your knowledge of NFTs, try the tutorial [Build an NFT marketplace](../../build-an-nft-marketplace). diff --git a/sidebars.js b/sidebars.js index f051ecd57..3349d3b07 100644 --- a/sidebars.js +++ b/sidebars.js @@ -300,10 +300,10 @@ const sidebars = { label: 'Build an NFT marketplace', link: { type: 'doc', - id: 'tutorials/build-an-nft-marketplace/index', + id: 'tutorials/build-an-nft-marketplace', }, items: [ - 'tutorials/build-an-nft-marketplace/index', + 'tutorials/build-an-nft-marketplace/part-1', 'tutorials/build-an-nft-marketplace/part-2', 'tutorials/build-an-nft-marketplace/part-3', 'tutorials/build-an-nft-marketplace/part-4', diff --git a/static/img/tutorials/mintForm.png b/static/img/tutorials/mintForm.png deleted file mode 100644 index a7db7b55b1ce8e853c664f3f42d9ffb2cd6132ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49696 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 Bs<{9F diff --git a/static/img/tutorials/minted.png b/static/img/tutorials/minted.png deleted file mode 100644 index c84ad15ea6346f5fdfc0e807889fc6845a238946..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 131764 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 z�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

|N7PV@ATMU2Xh*)KKVUmu&?eF}ee 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 L+t)Ey?VkMy0IV@& diff --git a/static/img/tutorials/nft-markeplace-2-traded-bottle.png b/static/img/tutorials/nft-markeplace-2-traded-bottle.png new file mode 100644 index 0000000000000000000000000000000000000000..b6b32905eadeda3f578ea12c3fffa84200b6a7b8 GIT binary patch literal 56433 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

#u$UA7}i8x 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

(3 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 diff --git a/static/img/tutorials/minted_part4.png b/static/img/tutorials/minted_part4.png deleted file mode 100644 index e537ff62b8a5491d167fd99d7eacba0024a87cc9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 133714 zcmdSAc~p{H6gO~q77P^X__OBnX{;6Xo_HEWo2r&9CE~R z25|;Q97}T~2S9KjGbccB0t5tJ?B4fV@4MFf-?!Gc-tSq9#rLG7#0A%{nBIBh#+Z=yu$$p^EmM`R|Gs0} zwyQ5*zudZK96D9ze4lW`)!G~*bU0k+;QC$d&%k&km#ZaP507lG+peLu>kg{!)Mb;m zmhX&2tks;b_nB|sN_8J^<;I?z%i{JKJ?&278i(Y&3c$m^No3f(M(V@CV*x8at%MIo zVm1Zayhha99sg}feckeZZS%>sM$TAahxac@D-vN8F*bCklr=THewGqiBB}`-vwwdw zhL*O|Ys+RAKa(?WvbpO^p|Vm$c?~=RGbx<#=4R2)rfUDsalhUAtn$Bc|8GsUN@wTY zbAYw)unbX04IyWTY{QtU{C_>^jZvztfnp(tu+M7uu!U9vQN6rrb}S>9awoIlbjpoD zVxLn_FWwdoZys8x`RkvTsao!3TjfXHPa>i}!C{m`{H2bhjr+fz7BqjbRi>5ya!V63 zZFoylB7k#1?eyu})OfAo50%q*97nHdWav9+r`u@%W8JlgC5(mO@``d4KNcZGMTjIt z_NOu&(@b?BCwge-RQiANc?j)To{TNhjBvslYa4Z^3ZVbl(G zvq0rrxUv!QzURm04VD9?KrmpOpM7@fm@>3aEBQu2@-2&3S1!3WKD4J3(F81b?0m;M$QfG~T={X6QjkPx{ZscFP(x0JgtDSxapVKnp zUzCm1YF@Xgbi`5r`cJHp%re)AWn0|IY`r6-59hpeLnbe_^eHFs8`Yg_ zUS%MbEOeR8VWT#bt}wzy)KI6ewaVtW`1o z%Lpd$0EAJ8F0>SwQ6(=>&~VQG^y#m~W4(|NPM^@*jwhzn#8pJfd`wGVlvCU(93W)_I0+Pj$RfiVmD=% zk_xKZWf;D+`n)`eU}bd?)8l{HMzRFv5LU!#tBuQZ*%65xN}!c$#q7+?X_chYiV6H9 zdfB%G-hs8=V|Y%?k5^OhJ>>*DYwKK8dBa~WV@ox`6NWC%VZ`Zmy8rOT%I8;zc?ACA zTv}x?qn6q%Qr+{T^3mwOF12C`v_?5d%?r01e)0Fot&iBOn8w1J>Bu;hCVb4r=9-!j z`JdjgVNUA-L1YSdA|eDJ8a)OVx9o22Qf+AnI#O|2&ft^_2%w-+OGSF63>R`}VYgqSC!IVuucJyu-P%IL#giUIIsKW~^`m=pjJ3)G9P^-@W3gaRC z=YWqpJu^z)OC!j&>R!n$;B*jm-)g}D1WDJyeIfApXxB74E-23|VS}IIz!`p7B%X?O z9HRzw`Lt6A%d?pwD5q+l26ig&xrWjU#BBd+82zft`$t(Sshbo1xK*w^am5y!XeB#L z9B-`xApj*Bz=J)IHZmOJc+W& zguPj`B_)0QSlLyJB-J6g36?0EiPgYz(Cj*6k$@9d5!N!uoW6P;TS!vxfGy7@9apue6rxq$<-{htWh(Pm2QV))>ke36X!qHrLwll-dru6QMIDA;pps0 zpAaGJtI$xu&{=Df4xvB4jiR3;=rci4gSBiDNKHsI;}nsm~M zuqF)$xGMuXf`y65pDPLiY>T34T&n4~fg>4ygBnFaggzFcyc zV-0H(9_f`TY_9Z&c>ngLZ+Z9@N^sxxb~)LaRueq%N=!s$3gs+UNL_Xo91T2jfpH*=X?kV z9JbVFuR7`Y@*-VdUdc0VZRBL2)V9I;Gxdk-=hjN}&PK1i@@ytmE8DubFr>lNIgLgU zi=RxlvXGoQNZStcYLl87pUf25P@gamYk2OA>OK3pI+MtcH67&J%(r|i*utDX$x6PIJ zVz1?y;pXRv(;J`SMc>oZt2rkuGuCHfc2g@}2X2+9ijFFbQ~t3v6M2T`@f6{}oblPR zSalu2o7vE)U7LEh{TBQ9zNnOFZY(16ofCxH7^EkYi#~Y|RwYF&^TK=P4H!K`JMQB+ zI~C&$Kh9Emnnml&a}4-gtQ;IYM4j zVE&P<@wWf^!9eXc*`$zH#C`pN1+I^0N%WdW@g86q*Kg&JUKa^Uif0 zUYt|m-o0ycPhytmD%|?2eZ}*& zh=)Tv;W_=kb;QaUep3zW$LRaTDM#3+l{NBBM2of5Wma4mUbv`sxx>Y|F7%^WVzg;Y z)BL-txrGm2P(D=sCeat3B%Fc7FJqwUgnE)Ev(#?x7;?3Z6PrA|4FE^RlV7hk{J^GibDfWtnT%aF#}i4^d0sTw_1 z3v3t#md+6LRR}6t`=hq_l!XBH>EI$!bmbuKJ-~LIIXry)5EdYq)OcKW`bfWMl%KI? zShEUx>(iD2h#+%Q>PbDeGjsZay!rIWw}*(S_2y%#P6N#jpz>(6ooh!SGN+|aa8`$m zQR|&_BNzm{gQ;E>I2@*a$?5F_?k;@|!1fua0o_sRs|TxFq^l5d7=suH*J+shxN`0< zC{8Us%-1T#j;+%7wYjD5&IH$lW1K<-)mJs|s4|f8(mC^YRc_ZMQd84LXwKXmF?eev z;rWx;9fBo^La`*WFX9lE*w>Ej>%yp8ahBN-|4Az#FEYHmcNh*s#!Qx)-?alMP@&@3 z(2`(B>j)xwZeA;9r}2;AqcclWR)QIOv@?37VSrHTyF{T8OWN69T)e1 zm|{`ezcgS^lzWr1BUVjIw`UwuNcLe87!7nycn;V^41&qtgT{d7qdOAxd5Ybgi7eoE zIpy$26T*&GC*SO;IeT|rabD6ey}V_Lw3rbtz8nXbB^f~|18G-^U$bvvCy8Au5l_wD zJnF0^17A0BCk60G!D20UbvNouPNiXf+aR9 zUAqdX0)D^f>uGr+t60_@c|<*{#w}ann@?X|afodb##(Q-eC2d&BNdb&i2>p6g>OuETs3sWE2Vv;;6-OuZ zg&~AZqjWECWo^M|a-^j;BP%^{blNX+z-cP=L3(Q$l4~_1C_b!5nbtuW#&xer)pjSA zsGWD)Z*(FIF7s^hq9mYB(tZ9>*NFftqd{Bm<;2@{XN{dOYSxCr7B{dOQ0g0`=vK)M z4&9B1vpb*|L3idvjhy#x@g=31=*@YSR=Sm^f77)+KqQi|`a$05OU1r;cRr6l(4%!H zy!DA7&SF3G3?DhLZ^lyW|5gB}RxH$cB7pHpWreh%PrjCFD zw_}g20-`&TQXJ&`)T(n*`=eA2l-b>ztLzHY_6!KePi3tCvE6Bl{Y-^X=JVHBjWB>0 z7hG;0K8DY8LoO+%U-jxSY8&M+S`9jKx^7x$N4k$1Xp<_YwHc6ZxkRw4OvD`E@WZu| zTO3_RWWU^Qb!mJ$Nq1kNJ=+oWPT9j};2)vO2ZqXb&IZT?XUM4Z9dJk3Ll7vwO0hbp zxt8t|Cl35e0KvmUbho8DSILqMcY1{#->2ea)y&|hq3+@iRs&UX0ND|u=TmO<9QKu( zlCc3-Sg}viaHK>!KVLh1FbrhcS56}Dwemu;LB$ntza&9A>*;Y9jt^3^Bu6tXeLc4c+ zE&9v>RWc37g;%X zcAuPmEuQjqTXTA-QCLF8J)n8Y<>`i0gBUwp2;J6_y0w!T2qtrHK>+_~lyDxJm^TvUwT$BsC-|TLD`}J@ZJHxRnr<;~et&)jr@d?hu$9 zb;_p?0R*}@>jynP<%MsNCE62`0ZStdKBk}>3K#Y1YJ(4vO6k!*SKovFM>#$km|hHhlcL`@&{#&b^7gXvchB zujx49AXslH^z(Yz0pkJC}7_9dV(Ls_abg80L*dHT~ zVn}I6h(Sx9r3tj)*gu`*`;caB?$nKquy3mmHpAzwC%k{FkN`?kmp>0=M+}{7`F+Rh z3|lK#d>~!GicRXS^&7m4`@LNU;_e>3JhN+SDB-8%9PD8K$K4hfN%Kzdc->hS@(CV0rn&xPF>XP;y4s)(kG9r%gn)5&&9#ZoXzONdy3-M5nX)tUUqz!)FSe^G zl-}cht~qUV5VPf7sm8ts-kfgc@(1N0JI&i3rdG2b`tIRw=sd}&-1E0U<;nubdWq=WVZ{p#onDee zx~Z7*ol586-&-3us@Qk?!WWLiAl=6g@CKL0FtRjXx2S~~<14)tgX|<@{?{s~ldYaj zOTAbm4O{GQ(BseCZuXfU3u&3AqZ5?{g#%1jB9+rg7Z1r91+m8D0Bdg*ReK>Mw*sn= zd9lTXXV8m9&Jpj0;NfnK5v;;Ax80(@U^6MC2linRmhQcMf!xpUJ0NTVi8u2`2Y+z_ z=+5~^j8w6ht#`);r4JYivQl;!pt|2%?OrV}!kKd?xVaUWC`63jZ3${OoP63AvZiIP zk{jIm7zF8Dz(rphUwvj9-JSTR59()0rQ7Fx|0vB`?Twh^`MQRazcl-n%I>fy9Ff4| zQd0K#B4NmIQ&(JEU@NWqZQrF@My|5b0htcc`KE!d8^=t+TdAqO9A|V(BZUgdlmr^I zz!qon6M|h0)!2DOv>poX9|f=;^kb%+g_Rc{Fvktx21Nj`WB zNg>)TjGdymYGxgRQ4{m<2jIc1+cG}Y(hJBQ3oUUkzVYEg=>anU9bw@`syW+0@;6=l zPI6bZJ^B(YlRh~+E5Y-YO-s@HKL3JvDuNx$>5P@F_LFTl?v*Aoa`55C^yh(qMkORh z_AV(U>qX_lLkc(A^6z(T7t@!(M5tCH%o5sF*7IUzFYS@2dzX zI`}v9kiw7?3*VQ#us^VB3_W+xwZ52D;LUB4ps_TOKx7}DJ(mM>hVios!WSte`86Y~ zYE1xl{2DN1B1#6ZvLqC#fP=ZF;~UlEm|(`Whi4Lm?Vu!tXwb zAc8`E>Qi?=b%3g7^tHNe+KAKba<#*7F}uU z>}q#_E`psWj_4f=i`JaHT;O@KU4qw=(#|*%YL0ea?{}1OK}!dfyR{Hm13-sNF!58V zc{clLfAVq1rbm^mtGu;g@!Hhs$1l2RTY!Q-TewG)Zw|~Y&1FbyeAB)>z_)dN;lP2N zX7PH1sX{*Ter@*tiG2Rh+s^hWeuZX0XW9ELO;V*)?bydo<)e9t#sl2W&4h}z{_kE} zN|WsM-++JDTmRK1$fVlAJ+fQ6(*BQ+;>Sii@BWLs2fR9~V3MG{^%eQCPqq>3XY6R4 zO4OB(IG{4~-wuy6_H_PMtgBQ*U+uPiC^;&wZ^3WsUGkD@d$b;RpXZs!iWn*~4}qnR zICUKkYuZHFLpK31$rW%{*9-jDoBxtLj}IUDf8Bgp6W9VablJ@HNpPD{iHDL&lagYC z(*nz6(`Z(WSny^Zq2=bm|0IxN|84Z9;O4)BksKnVJkR{P_5Yiu$-ObTu>#wLnx7}Q z1pF2c%dF_0SFf-96}47*vP0pQAdh8T|IU)$aQ^$Qxc)R!ZtUSV$+74uSh;pFS#E`N z_Kj}JZ%#j)q%imS3q?F$th^limmNwyPB3#ip>)PEPB#-vj>=p)i?uCM9$t8Og9(&! zRL2Rj7R2v(bR74&#=qlLQtdU@UPaeZ8ZN$>Xdb>bqkOko&^n~7&>CPUj+k5LA*4kT z5r1{o)AN*5syZ8vS~(lurQGnWGBA>VgX}03_@kYQV9iC08+`qrJBWr)roGQrX2fi%r7={zHyZkg2L(P0p&4_+chu6RVS?7#M2LDqRgD zj=kD$eNvMiQOP<4okj%9f`0v1O3!C6CU7iOV%HPZXNlvX$Ntm!<8C>xJdwK8$X=z^ z|BOTZ*qiOvzQ6ys7VJ|Q4-yfQl{0ck#%t%je+5UH{XdpuVDf)!lYL5W#uK==^WV&a zl!=^V&Hg(X|G#d2)(gRWL9}~I>{-BSDVGEX+*HJ|W9Wy5F55PT=do4c)p|Mn(33*T z%m8v#0o-7yAWZ+S-=rWvR@61wtMsxKGJZ-Fg=z8RsqWppBWP`Mv?Q?ZS%M|&s?7Oc zjw1axsp10)pBuWx?~j=N>l-9q>T%Rm?;qO`{hK#QNi9i?B6q+kVYG_>>%~%1DiWg_ zIk$uU?=;&T{onlB<0w<^ze#-Sy^?;V`q&Xum?p{6A-f=!^32i%y)0^L7@Wgm|J2eX;gNWx0Ck=pw^|ccXCGX}q#}!gWl6{tlyqm{_d#?!=0TWyy-Q=Z z*rg7;WkGZjcW&k8;&rN6v}*+xPpgVg)ZO)S-Sq z)%j7^ZEly9YsgR?Z|cR4pmL#{eUaYPfaINa4qY8uerq+yZ>W8IzR#TY(YHNZqL|z*l(nxN zBmAoPb`0NC;sfg6-c&2W8s?MIJul~4A}(VH))8Dkdi3l^LW z+7|GND^GkiH&SjM0j?&<(V~7VX6(UkT8*sbiI-@WN$S~fbPW++#3c~Y)`sBdjuTSF z?M=0v{sA@t*s-IAMnTm!QZ2xHC%>#=jCuF2j{dvzJt%n~1wuSI;~8WZB{!65d%}Mu zd5U&G&#r(Di5Z5GHtdTK(3BnW4cC%AcT~JnrhI)tyPo!j)a4FRY-~)tcycs9k3V0b zeD?;N_rz>Kwtcj)U!Cv<7oM!mzNdau%Y8r78bf!J<0ygIZexe@ln{zV_-1}cC_^6+ z*gkLC;KA~sYVR+Dq-lHYUfgKB3F4f0lh64h$X&^NVl_OpIYe9lYK%)zUntz-^^^|h z@)0#d!QckkNM_C&8{8txVl|eZ@NfTM{&4k`a!0mW&qbgr&>AA!*T+HT%=KZDUTh4Z z!6mVxv)A&ve9MFd&4wJWWk~ycqrAJ; zJ-Rpop=e!xj5by*jHrhSf5vNdbn)F`0Jdua{QC_%!MoBnf$v0j6ZOPGpm_3k7G!OY zt8F|K&0Y=b*#kRld_YgAdAOvMFc^`7@wO7dY@W!5Vprh9F$W9i?Ew3d>8XbGoCD`Q zX?I`;ROnP7UVcby#}jqCXkCcO^eP`7X5BmkO>7pn13IAt!)nwjiMB`m><%;$9gcwX zJ%d`NG8i4b&bN*|-Af`xGzL#JFm|2^8g3KPc1jVPienNHh4~qNEH42vA<%#}Izbq~ zL<2+y!m!CpEe@vBC*W=lpE6yG4ot4c4@`up>uUWjW8A5PvLsDI2<~ykX%k-!*JvGH z>;hSjKgZkvQL2Z}+Y_hHDF2ieo+ftXu^gU18RZ&VB^e7!MdQAz?o>S$y{=uaM+%4A zXgZJbCso!0#nB{;V<|>cI2Rwq=$XcZW%gmF1IB$E*oW3DcG&4Uj|K3|fc&UW=#g+~ zYQ-*4aeWMZqqLqXcwty+#zN?I`L)uIL6TxDcO|>r-D;=tUNNK)%{8*qmsk3D6h||B zJ7Lo$`{=rt3hs7MJrqo?V`S$({iK0e9h{@{)lt7slBNW{?8O3^oJV@mE&ET~AKopM z`mzza7?rPicsQv0+P?qf(= ze*WjbETfipChQv9lB@RqMboFG_=2a|T#`R{U?fD&UwwZJa`3XT47a!)3?RT!iQdCP zMBE}~WG2~|g1MF%1`_wvGWz zdw@yg9Y~6ka+C|Qh|&G3cJRJ~{I`0@hu4^Tzg$r?|CZY8`r4;B6$i01V8bh%^?bN| z_-&=T{}aI^%5S1M#-22}HF(fY8vJpzigkX4a*W_<4s~k`Y!pK2iM26zwC(d<@wls7 zk@KQ@3LdX>AfQ%lQeU!LHI-^W4QH_)(E2gRO^z|wN^UIhTVWDY@tZ~VM8b)*4fA6m zJl97Eb6Ra}Q*Mc#lxt}{r@5Hcbs9n}A0S`7>YQu!;zhadEUf5*v+A;vF!lUqy#3K{ z@I=qp-7w+WXInTjXo~IygWer*+5eES2U~_~*y+V$7L>U*ID9CBdAU`9Cmmfu{veXA z^o}uNL|*WS7I)IlwNbTrn3Z!-?>Ccr6%Bpaw5;@4_H0pVC-YN>K(%lp!%0Dqx?^B> zEh#?Vr{w_-KDc@!VSW5*pMR9-^^+*@3vj%DFIc|nIb>c(2wN*!F|ZzkL3(beb^$M) zTpXU%5^hZTO-!dTUKYoW2AQ6K9w|3w|TFi>0FzUrU%kVlqZI0miE zTr7HTzv}^MBwaC-=@!69eOK*1tjmeI$P1BR4fWi1qYgp~chHcLgy*Gd)7OR7&Xf() zG(=rCv@@PPDD<6AO0tsCzo0`M#QBaFA6V3V1un`PC>ig7$RZGs+^*xkUt3_Wivs)* z(`#MQ)ZbZQ8E!F4e<%~?&RJG+tx}S7k~eObyR2F$$9SzrQ3On;{u*#hVa#TXxWrQ2 z^s*Nm_hd>C>s1w1H$6M-Jm#GD*y|z~J*h-yZ8N4DdGOwB%I14cn(;UM>yp(rK}k9& zidE3^9CQg?ODvb9HLWksoD))cR)XA$ar#sjbwY?KYmAuy+3HB+in(xXfjwoeP6q}` z&r2Ls0fRkXOdb~1h4j?Te{+Sk=9f=?`#vQ}0bbTY5Wkb2o;rzzMG#D1jlG_2{s_#5 zWxFBQe+I1UPvJiQ=#ft)j*b|}Y&2~^C^killij%3{1c5TrD3sV+-84G_X3ZB-MBd= zS|_bJCh9OQ4qKHepn(Bv0pIM~`u1l0bbn{K5%)MuZa7Ebdp)bDRuum6g+mkoSv^1n zqNbC#*2GURe#q-KTw*P~A+bdxN9sZd&0$}@Ka$M#xRGNQt1%%aL@Q@0D>!3Mjs4jv zdw`B-rF#$|63AY%Aivi29{plizC!2Gl6Ez}*R!RAg_}`}-d+2s+%K=X;sP-wzcD$8 zO;xVxvr3`aHq5;)xsB(bK(uf`DR-||C*9WFEBuqO;_8Po<1$)n?&TyM2>W~2T6x4I z=`+4PqXq#hUS>7ro0l2bqY@7p&esKs3U7OVg&i(w|F`_@hJ@T4^irwU@|8eC+0^zdz&{(<`GON>Xi4xxNn{|r{%vM!= z=F8o4{>-?jg~1BIKh{g0!Ul{V|BhXX|M@dXfu(@cx2lCnw>e_U(}sqDH?N{fF4aX; z7zR0gPn*3ZsJp97KJ)$r{1~;q(!+u)mZ9E>@QDFIDpF3%RtTQ+eMf5wPxNP~t|FrL&3@bsux_0rU04#FdD#M_R7-Gpqbp!56-sEE}2yV`3_P zqRFe(nh)&+8cz#YBAxS&#qF2HJLCTf8ML3OyX&Oj&rg>BMalK>Mj^K}GOD}x7ygv6 z)lwfoZePZlvfm_hV!yFeVa{CF=r@M7nrD=D7gRtZvM0rEY+#@Mz4|*5<6~Aus*|pZ zpdcGP>)5;7)dB|HpxKk|$IM)ifcDv4&WL1h=7?k8UM1Vr_l zcNa6C_YkcFG;>1gl|`!if`{1m`&WAVG!=j{`augBAq$`Sdt zoZ8^Z>o8uYwH?E+KK=DLH4a0%b~W>PJpDc1ciucRWa#hWozTH8l!8`VM4_c^<*u6E zCovWFn1COGM**BQ2uS;+mWl{}e$vr0QxE+>P00wEn9MeIuXJfU`v_AB$HlDZ#3YU4 zPuX28(%YXRJYqYT0RYl3?bDSLXMeQcH4Z)V>i`;%S9k=%pCQ?QC_Qg#N7Q=@w)PB) zzbq=2;rJDfSiN8S3Bf&ll*Z)Gq~PhOnP9KdY&pQ<8;`Ct1@VRSjx^OlSBEvCR!2rn z93m=R#1S1X80WNW7SXtK+XSf+Hdbuex7#2}u5$JHsVUGy;{9|lt#AESu#d;5a@0%i zs78z?SKv~e50CV^NAS2_>{_u=TlVy+Y;l_W`L2e~`@@O%eeIbiCa#j)A_@%~-4$(t z@Z7dJWfXvGU?O1NFCB>S_@wa6b-|}4JcTn+R8*#-T)NfopdnW7k1R4ZjpP;0{uCRH z?}lkb0fM@RimjdOeDqby