# Usage

This is a detailed explanation of the features provided by the NFT module.

## Contents

<table><thead><tr><th width="277">Name</th><th>Description</th></tr></thead><tbody><tr><td><a href="#1.-mint">1. mint</a></td><td>Issue NFT.</td></tr><tr><td><a href="#2.-transfer">2. transfer</a></td><td>Transfer the ownership right of the issued NFT.</td></tr><tr><td><a href="#3.-burn">3. burn</a></td><td>Burn the issued NFT.</td></tr><tr><td><a href="#4.-parameter-description">4. Parameter Description</a></td><td>Parameters required to call API.</td></tr></tbody></table>

### 1. mint

Issue NFT and record the result on the chain network.

#### Parameters

<table><thead><tr><th width="156">Name</th><th width="253">Type</th><th>Example</th></tr></thead><tbody><tr><td>wallet</td><td><mark style="color:blue;">Object</mark> (<mark style="color:green;">FirmaWalletService</mark>)</td><td>You can check how to use your wallet in the "<a href="https://github.com/FirmaChain/firma-js#create-wallet-account">firma-js of the Github repository</a>".</td></tr><tr><td>tokenURI</td><td><mark style="color:blue;">String</mark></td><td>"https://firmachain.org/nft/metadata/bcf5cdajs-ff12...-d2han89nnha1"</td></tr><tr><td><p>txMisc</p><p>(Not required)</p></td><td><mark style="color:blue;">Object</mark> (<mark style="color:green;">TxMisc</mark>)</td><td>{fee:200000,gas:163821,memo:"custom message"}</td></tr></tbody></table>

#### Return value

```bash
{
  code: 0,
  height: 1175104,
  rawLog: '[{
            "events": [{
              "type": "message",
              "attributes": [
                {"key":"action","value":"Mint"},
                {"key":"Owner","value":"firma1trqyle9m2nvyafc2n25frkpwed2504y6avgfzr"},
                {"key":"nftID","value":"76"}
              ]
            }]
          }]',
  transactionHash: '2F257E674FB3EA...DE83D18D963F320',
  gasUsed: 71996,
  gasWanted: 200000
}
```

### 2. transfer

Transfer the ownership right of the issued NFT and record the result of the transfer on the chain network.

#### Parameters

<table><thead><tr><th width="155">Name</th><th width="245">Type</th><th>Example</th></tr></thead><tbody><tr><td>wallet</td><td><mark style="color:blue;">Object</mark> (<mark style="color:green;">FirmaWalletService</mark>)</td><td>You can check how to use your wallet in the "<a href="https://github.com/FirmaChain/firma-js#create-wallet-account">firma-js of the Github repository</a>".</td></tr><tr><td>toAddress</td><td><mark style="color:blue;">String</mark></td><td>"firma1nssuz67am2uwc2hjgvphg0fmj3k9l6cx65ux9u"</td></tr><tr><td>nftID</td><td><mark style="color:blue;">String</mark></td><td>"16"</td></tr><tr><td><p>txMisc</p><p>(Not required)</p></td><td><mark style="color:blue;">Object</mark> (<mark style="color:green;">TxMisc</mark>)</td><td>{fee:200000,gas:163821,memo:"custom message"}</td></tr></tbody></table>

#### Return value

```bash
{
  code: 0,
  height: 1175663,
  rawLog: '[{
            "events": [{
              "type":"message",
              "attributes":[{
                "key":"action",
                "value":"Transfer"
              }]
            }]
          }]',
  transactionHash: 'A862717FEDB9212...D71833B10BCC756',
  gasUsed: 77461,
  gasWanted: 200000
}
```

### 3. burn

Following are the features offered in order to search the issued NFTs.

#### Parameters

<table><thead><tr><th width="156">Name</th><th width="245">Type</th><th>Example</th></tr></thead><tbody><tr><td>wallet</td><td><mark style="color:blue;">Object</mark> (<mark style="color:green;">FirmaWalletService</mark>)</td><td>You can check how to use your wallet in the "<a href="https://github.com/FirmaChain/firma-js#create-wallet-account">firma-js of the Github repository</a>".</td></tr><tr><td>nftID</td><td><mark style="color:blue;">String</mark></td><td>"16"</td></tr><tr><td><p>txMisc</p><p>(Not required)</p></td><td><mark style="color:blue;">Object</mark> (<mark style="color:green;">TxMisc</mark>)</td><td>{fee:200000,gas:163821,memo:"custom message"}</td></tr></tbody></table>

#### Return value

```bash
{
  code: 0,
  height: 1175693,
  rawLog: '[{
            "events": [{
              "type":"message",
              "attributes": [{"key":"action","value":"Burn"}]
            }]
          }]',
  transactionHash: '6174F2D9D8C7D37...811BCCE8A15CD5C',
  gasUsed: 63177,
  gasWanted: 200000
}
```

### 4. Parameter Description

<table><thead><tr><th width="182">Name</th><th>Description</th></tr></thead><tbody><tr><td>wallet</td><td>Unique wallet parameter created from the user’s Mnemonic.<br>This parameter can be called by using the Wallet.fromMnemonic function from the FirmaSDK module.</td></tr><tr><td>toAddress</td><td>For this parameter, please enter your FirmaChain wallet address.</td></tr><tr><td>nftID</td><td>For this parameter, Unique ID of the issued NFT.</td></tr><tr><td>txMisc</td><td><p>This object contains the gas fee that is deducted when a transaction is called upon.</p><p><em>* The default gas fee is set at 0.02fct.</em></p></td></tr><tr><td>tokenURI</td><td>Metadata address describing the NFT.</td></tr></tbody></table>
