Skip to content

Commit

Permalink
feat(wasp): create a guide for getting an on-chain NFT data (#1648)
Browse files Browse the repository at this point in the history
* feat(wiki): create a guide for getting an on-chain NFT data

* refactor(wiki): implement review suggestions
  • Loading branch information
Ginowine authored Jul 11, 2024
1 parent 815d03a commit 96cde45
Show file tree
Hide file tree
Showing 4 changed files with 84 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
description: How to get information about an on-chain NFT.
image: /img/logo/WASP_logo_dark.png
tags:
- EVM
- how-to
- native tokens
- L2 NFTs
---
import GetNftMetadata from '../../../_partials/how-tos/token/_get-nft-metadata.md';

# Get On-Chain NFT Data

This guide explains how to use the [`getNFTData`](../../../reference/magic-contract/ISCSandbox.md#getnftdata) function within a smart contract to fetch information about a specific on-chain NFT on the IOTA network.

<GetNftMetadata />

## How to Use the `getNFTData` Function

The `getNFTData` function retrieves data for an NFT based on its identifier. It returns a struct of type [`ISCNFT`](../../../reference/magic-contract/ISCTypes.md#iscnft), which contains various properties of the NFT like the issuer, metadata, owner, and NFTID. To use this function, you need to create a function in your smart contract that calls `getNFTData` and processes its return value, as shown in the example contract below:

## Example Code

```solidity
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "@iota/iscmagic/ISC.sol";
import "@iota/iscmagic/ISCTypes.sol";
contract NFTMetadata {
function fetchNFTData(uint256 tokenId) public view returns (ISCNFT memory nftData) {
nftData = ISC.sandbox.getNFTData(ISCTypes.asNFTID(tokenId));
return nftData;
}
}
```
5 changes: 5 additions & 0 deletions docs/build/isc/v1.1/sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,11 @@ module.exports = {
label: 'Get NFTs in Collection',
id: 'how-tos/core-contracts/nft/get-nft-in-collection',
},
{
type: 'doc',
label: 'Get On-Chain NFT Data',
id: 'how-tos/core-contracts/nft/get-nft-data',
},
],
},
{
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
description: How to get information about an on-chain NFT.
image: /img/logo/WASP_logo_dark.png
tags:
- EVM
- how-to
- native tokens
- L2 NFTs
---
import GetNftMetadata from '../../../_partials/how-tos/token/_get-nft-metadata.md';

# Get On-Chain NFT Data

This guide explains how to use the [`getNFTData`](../../../reference/magic-contract/ISCSandbox.md#getnftdata) function within a smart contract to fetch information about a specific on-chain NFT on the IOTA network.

<GetNftMetadata />

## How to Use the `getNFTData` Function

The `getNFTData` function retrieves data for an NFT based on its identifier. It returns a struct of type [`ISCNFT`](../../../reference/magic-contract/ISCTypes.md#iscnft), which contains various properties of the NFT like the issuer, metadata, owner, and NFTID. To use this function, you need to create a function in your smart contract that calls `getNFTData` and processes its return value, as shown in the example contract below:

## Example Code

```solidity
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "@iota/iscmagic/ISC.sol";
import "@iota/iscmagic/ISCTypes.sol";
contract NFTMetadata {
function fetchNFTData(uint256 tokenId) public view returns (ISCNFT memory nftData) {
nftData = ISC.sandbox.getNFTData(ISCTypes.asNFTID(tokenId));
return nftData;
}
}
```
5 changes: 5 additions & 0 deletions docs/build/isc/v1.3/sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,11 @@ module.exports = {
label: 'Get NFTs in Collection',
id: 'how-tos/core-contracts/nft/get-nft-in-collection',
},
{
type: 'doc',
label: 'Get On-Chain NFT Data',
id: 'how-tos/core-contracts/nft/get-nft-data',
},
],
},
{
Expand Down

0 comments on commit 96cde45

Please sign in to comment.