IP Asset 등록하기

IP를 등록하는 방법 2가지

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

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

0) Prerequisites

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

circle-info

기본 라이선스 약관

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

만약 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