IP Asset 등록하기

IP를 등록하는 방법 2가지

  1. 기존 NFT를 IP Asset으로 등록하기

  2. 한 트랜잭션 내에서 NFT 생성하고 IP Asset 등록하기

0) Prerequisites

1) 기존 NFT를 IP Asset으로 등록하기

기본 라이선스 약관

스토리에 등록되는 모든 IP Asset은 비상업적 소셜 리믹스 라이선스로 자동으로 등록된다.

만약 root IP Asset (가장 최상위 부모)인 경우, 추후에 더 많은 라이선스 약관을 첨부할 수 있다. 자세한 내용은 IP Asset에 약관 첨부하기를 참고할 수 있다.

간단히 client.ipAsset.register() 함수를 통해 토큰의 contract address와 token ID를 넘겨 호출하면 된다.

import { toHex } from 'viem';

const response = await client.ipAsset.register({
  nftContract: "0xd516482bef63Ff19Ed40E4C6C2e626ccE04e19ED", // your NFT contract address
  tokenId: "12", // your NFT token ID
  ipMetadata: {
    ipMetadataURI: 'test-uri',
    ipMetadataHash: toHex('test-metadata-hash', { size: 32 }),
    nftMetadataHash: toHex('test-nft-metadata-hash', { size: 32 }),
    nftMetadataURI: 'test-nft-uri',
  },
  txOptions: { waitForTransaction: true }
});

console.log(`Root IPA created at transaction hash ${response.txHash}, IPA ID: ${response.ipId}`)

nftContract 에서 제공된 tokenId 가 이미 등록된 경우, response 객체는 기존 IP asset의 ipId 와 undefined txHash 로 내려온다.

waitForTransactiontrue로 설정하면, 새로 등록된 IP Asset의 ipId가 반환된다.

위 코드를 실행하면 아래와 같은 출력을 확인할 수 있다.

2) 한 트랜잭션 내에서 NFT 생성하고 IP Asset 등록하기

SPG 함수mintAndRegisterIpAssetWithPilTerms 를 사용하면 된다.

Reference

Last updated