Mint in KOR Collection and Register

This use case is suited for artists who have a digital asset—whether it’s a digital artwork, a design, or other forms of creative work—and want to mint it as an NFT within the KOR collection. If you're contributing to an established collection like KOR and want to ensure your creation is properly registered as an intellectual property and enforces license terms, this scenario will guide you through the process of adding your work to a curated NFT collection. Additionally, users can enable royalties, pay royalties, and claim royalties using a snapshot ID.

Pre-requisites

You can refer this link for basic setup before you can start with the following steps.

Step 1: Upload file to IPFS using Pinata

In this step, you securely upload your digital asset to a decentralized storage system using the Asset module's uploadAssetToIpfs function.

const { ipfsHash } = await korSDK.uploadAssetToIpfs(
  file, // asset to be uploaded
  'pinata'
);

By executing this step, the file is successfully uploaded to IPFS via Pinata, and you receive the ipfsHash, which serves as the unique identifier for your asset. This hash is crucial for referencing your asset in subsequent steps, as it ensures decentralized, immutable storage and access to the file.

Step 2: Create metadata and upload to Pinata

You generate the metadata that describes your asset (e.g., title, description, creator info) and store it on IPFS using the Asset module's uploadMetaDataToIpfs function.

const { ipfsHash } = await korSDK.uploadMetadataToIpfs(
    { name: 'Cold Play', symbol: 'TKN', baseURI: 'ipfs://' },
    'pinata'
);

By executing this step, the metadata for your NFT is successfully uploaded to IPFS via Pinata, and you receive the ipfsHash. This hash acts as a unique identifier for your NFT's metadata, ensuring that it is securely stored and easily accessible in a decentralized manner.

Step 3: Mint NFT for your asset using metadata URI from KOR collection

In this step, you will mint your asset as an NFT using the metadata URI from your KOR collection, effectively transforming it into a blockchain token using the NFT module's mintFromProtocolCollection function.

By executing this step, you mint your asset as an NFT using the mintFromProtocolCollection function from the NFT module. This process requires specifying the recipientAddress and metadataURI, effectively linking your NFT to its associated metadata.

Step 4: Register minted NFT as an IP Asset

You register the NFT as an intellectual property (IP), giving it formal legal protection using the IP module's registerNFT function.

By executing this step, you register the minted NFT as an intellectual property (IP) using the registerNFT function from the IP module. This process involves specifying the licensors, tokenContract, and tokenId, effectively granting your NFT formal legal protection.

Step 5: Create a License

In this step, you create a license for your IP, defining the specific predefined terms such as royalty, commercial use, expiration, and derivative rights, using the createSmartLicense function from the License Module.

By executing this step, you create a customized license that outlines how your NFT can be used, shared, or monetized.

Step 6: Attach a License

In this step, you attach the newly created license to your IP, enforcing the terms established in Step 5 using the attachSmartLicense function.

By executing this step, your NFT is now governed by the license terms, formally binding it to the usage rights and conditions you set. This attachment ensures that all interactions with the NFT respect the specified licensing framework, safeguarding your intellectual property rights.

Step 7: Activate Royalty

In this step, you activate royalty on an IP using activateRoyalty function. This allows users to pay royalties and claim royalty tokens associated with the IP. The process involves creating a royalty token and distributing shares to the user, which can subsequently be further distributed by the user as needed.

By executing this step, you have successfully activated royalties for the IP. Users can now pay royalties and claim their respective royalty tokens.

Step 8: Pay Royalty

In this step, you pay royalty using payRoyalty function. The royalty tokens will be distributed among the holders based on their respective shares and will be available for them to claim.

By executing this step, you have successfully paid the royalty. A snapshot ID will be generated as output, and the tokens will be distributed among the holders based on their respective shares, making them available for claim.

Step 9: Claim Royalty

In this step, royalty token holders can claim their tokens using the collectRevenue function. The claim is made based on the snapshot ID generated during the royalty payment step.

By executing this step, you have successfully claimed your royalty tokens.

By following this workflow, you’ve successfully created and secured your NFTs while also registering them as intellectual property, enabling you to protect your creative assets on the blockchain. Additionally, you have implemented functionalities to activate, pay, and claim royalties.

If this specific approach doesn’t suit your use case, explore other tutorials to find the best fit for your NFT and IP needs!

Last updated