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
  • OnChainIPClient
  • Methods
  • registerNFT
  • registerDerivatives
  1. SDK Reference
  2. Client Methods

On-Chain IP

OnChainIPClient

The OnChainIPClient provides functionality for managing intellectual property (IP) assets. The OnChainIPClient simplifies the management of IP assets, making it easier to create, retrieve, and list them as needed.

Methods

  • registerNFT

  • registerDerivatives

registerNFT

Register an NFT as an Intellectual Property Asset

Method
Type

registerNFT

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

  • Parameters:

Name
Type
Description

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

tokenContract

address

The contract address of the NFT.

tokenId

number

The token id of 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 and IP id of the newly created collection.

  • response.transactionResponse.transactionHash - The transaction hash.

  • response.result.ipId - The IP id of the newly registered Ip Asset.

registerDerivatives

Register derivatives of an Ip Asset

Method
Type

registerDerivatives

(request: IRegisterDerivates) => Promise<registerDerivativeResponse>

  • Parameters:

Name
Type
Description

tokenContract

address

The contract address of the NFT.

tokenId

number

The token id of the NFT

parentIP

address

The identifier for the parent intellectual property (IP) in the request

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 and IP id of the newly created collection.

  • response.result.ipId - The IP ID of the newly registered IP Asset.

PreviousNFTNextOn-Chain License

Last updated 4 months ago