KOR Protocol Developer Docs
  • KOR Protocol: Introduction
    • Overview
    • Partners
  • Overview of KOR SDK
    • Notable Features
    • Merits of using KOR SDK
    • Use Cases
  • SDK Reference
    • Introduction
    • SDK Installation
    • SDK Initialization
    • Client Methods
      • Asset
      • NFT
      • On-Chain IP
      • On-Chain License
      • Royalty Distribution
      • Conflict Management
    • Tutorials
      • Pre-requisites
      • Mint and Register in Own Collection
      • Mint in KOR Collection and Register
      • Register Existing Minted Token as IP
      • Launch 100-Song Album via IPFS
      • Launch 5-Song Album via AWS S3
      • Register Asset as Derivative
      • Update License Terms of Existing IP
      • Raise, resolve and cancel conflicts
      • Create a copy NFT of an IP
    • Releases
    • Deployed Smart Contracts
  • Essential Business Flows
  • Architecture
    • Overview
    • Event Listener
    • Modules
      • Asset Module
      • NFT Module
      • On-Chain IP Module
      • On-Chain License Module
      • Royalty Distribution Module
      • Conflict Management Module
  • Key Definitions
  • Community
Powered by GitBook
On this page
  • NFTClient
  • Methods
  • createCollection
  • createIPCollection
  • mintFromCollection
  • mintFromProtocolCollection
  • mintIPFromIPCollection
  1. SDK Reference
  2. Client Methods

NFT

NFTClient

The NFTClient provides a suite of functions to perform various operations related to NFTs, such as creating collections and minting tokens

Methods

  • createCollection

  • createIPCollection

  • mintFromCollection

  • mintFromProtocolCollection

  • mintIPFromIPCollection

createCollection

The createCollection function is used to create a standard collection

Method
Type

createCollection

(request: ICreateCollection) => Promise<{result, transactionResponse}>

  • Parameters:

Name
Type
Description

name

string

The name to associate with the NFT collection.

symbol

string

The symbol representing the collection.

  • Returns:

Name
Type
Description

transactionResponse

Object

Contains details of the transaction, including the transactionHash, logs, and other relevant information.

result

Object

Object containing the contract address of the newly created collection.

  • response.result.collectionAddress - the contract address of the newly created collection.

createIPCollection

Creates an IP collection, which allows the addition of licensing details to the NFTs.

Method
Type

createIPCollection

(request: ICreateIPCollection) => Promise<{result, transactionResponse}>

  • Parameters:

Name
Type
Description

name

string

The name of the IP collection.

symbol

string

The symbol representing the IP collection.

mintPrice

number

The mint price for the NFTs in the collection.

maxSupply

number

The maximum supply of NFTs that can be minted in this collection.

licensors

[address, address, address]

A list of up to three wallet address representing licensors for the IP collection. Pass zero address (0x0000000000000000000000000000) for empty address. For example, if you don't want to pass any licensors then pass three zero addresses: [0x0000000000000000000000000000, 0x0000000000000000000000000000, 0x0000000000000000000000000000]

licenseTermID

number

The ID corresponding to the licensing terms for the IP collection.

  • Returns:

Name
Type
Description

transactionResponse

Object

Contains details of the transaction, including the transactionHash, logs, and other relevant information.

result

Object

Object containing the contract address of the newly created collection.

  • response.result.collectionAddress - The contract address of the newly created IP collection.

  • response.result.ipId - The IP id of the newly created IP collection.

mintFromCollection

Mints an NFT from an existing standard collection.

Method
Type

mintFromCollection

(request: IMintFromCollection) => Promise< {result, transactionResponse}>

  • Parameters:

Name
Type
Description

collectionAddress

address

The contract address of the NFT collection.

recipientAddress

string

The wallet address where the newly minted NFT will be sent.

metadataURI

string

The URI pointing to the metadata associated with the NFT.

  • Returns:

Name
Type
Description

transactionResponse

Object

Contains details of the transaction, including the transactionHash, logs, and other relevant information.

result

Object

Object containing the contract address and token id of the newly created collection.

  • response.result.collectionAddress - The contract address of the collection.

  • response.result.tokenId - The ID of the newly minted NFT.

mintFromProtocolCollection

Mints an NFT from a protocol-based collection.

Method
Type

mintFromProtocolCollection

(request: IMintFromProtocolCollection) => Promise<{result, transactionResponse}>

  • Parameters:

Name
Type
Description

recipientAddress

string

The wallet address where the newly minted NFT will be sent.

metadataURI

string

The URI pointing to the metadata associated with the NFT.

  • Returns:

Name
Type
Description

transactionResponse

Object

Contains details of the transaction, including the transactionHash, logs, and other relevant information.

result

Object

Object containing the contract address and token id of the newly created collection.

  • response.result.collectionAddress - The contract address of the collection.

  • response.result.tokenId - The ID of the newly minted NFT.

mintIPFromIPCollection

Mints an NFT from an IP collection, attaching intellectual property (IP) information. This function will only work if a license is attached to the collection.

Method
Type

mintIPFromIPCollection

(request: IMintIPFromIPCollection) => Promise<{result, transactionResponse}>

  • Parameters:

Name
Type
Description

recipientAddress

string

The wallet address where the newly minted NFT will be sent.

ipID

address

The ID of the IP being associated with the NFT.

uri

string

The URI pointing to the metadata associated with the NFT.

isMintAllowed

boolean

The value should be true if minting is allowed; otherwise, it should be false.

isUnlimitedSupply

boolean

This parameter is applicable only when isMintAllowed is set to true. Set the value to true if the total supply of the NFT is unlimited.

ipSupply

number

This parameter should contain a valid number greater than 0 if isUnlimitedSupply is set to false.

mintPrice

number

This parameter represents the price of the NFT when minting is allowed. It is only valid if isMintAllowed is set to true.

  • Returns:

Name
Type
Description

transactionResponse

Object

Contains details of the transaction, including the transactionHash, logs, and other relevant information.

result

Object

Object containing the contract address, IP id and token id of the newly created collection.

  • response.result.collectionAddress - The contract address of the IP collection.

  • response.result.tokenId - The ID of the newly minted NFT.

  • response.result.ipId - The ID of the intellectual property associated with the NFT.

PreviousAssetNextOn-Chain IP

Last updated 4 months ago