Skip to main content

IPAssetClient

메서드

  • registerIpAsset
  • registerDerivativeIpAsset
  • linkDerivative

registerIpAsset

IP를 🧩 IP Asset으로 등록합니다. 다음 워크플로우를 지원합니다:
  1. IP Asset 등록 1a. 기존 NFT를 IP Asset으로 등록 1b. 새 NFT를 민팅하고 IP Asset으로 등록
  2. IP Asset에 라이선스 조건 첨부
  3. 로열티 토큰 배포
이 함수는 또한 기본 NFT의 tokenUriipMetadata.nftMetadataURI에 전달된 값으로 설정합니다.
매개변수:
  • request.nft: 두 가지 옵션이 있습니다
    • { type: "minted", nftContract: Address, tokenId: number | bigint }: 기존 NFT를 IP Asset으로 등록합니다. 이미 NFT가 민팅되어 있어야 하므로, 일반적으로 더 어려운 옵션입니다.
    • { type: "mint", spgNftContract: Address, recipient?: Address, allowDuplicates?: boolean }: 새 NFT를 민팅하고 IP Asset으로 등록합니다. 일반적으로 더 쉬운 옵션인데, 이미 민팅된 NFT를 걱정할 필요가 없기 때문입니다. spgNftContract를 만들거나 기본값을 사용하여 민팅을 대신합니다.
  • request.licenseTermsData: 라이선스 조건을 첨부하려는 경우.
    • request.licenseTermsData.terms: IP Asset에 첨부할 license terms.
    • request.licenseTermsData.licensingConfig: IP Asset에 첨부할 licensing config.
    • request.licenseTermsData.maxLicenseTokens: 이 라이선스 조건에서 민팅할 수 있는 라이선스 토큰의 최대 수.
  • request.royaltyShares: 로열티 토큰을 배포하려는 경우.
    • request.royaltyShares.recipient: 로열티 지분 수신자의 주소.
    • request.royaltyShares.percentage: 로열티 지분의 백분율.
  • request.ipMetadata: IP Asset의 메타데이터
    • request.ipMetadata.ipMetadataURI: IP의 메타데이터 URI.
    • request.ipMetadata.ipMetadataHash: IP의 메타데이터 해시.
    • request.ipMetadata.nftMetadataURI: NFT의 메타데이터 URI.
    • request.ipMetadata.nftMetadataHash: IP NFT의 메타데이터 해시.
  • request.deadline: 서명의 마감 시간 (밀리초). 기본값은 1000.

registerDerivativeIpAsset

IP를 다른 IP Asset의 파생물로 등록합니다. 이 함수를 사용하면 기존 라이선스 토큰을 사용하여 파생물로 등록하거나, 직접 라이선스 토큰을 민팅할 수 있습니다. IP를 파생물로 등록하려면, 그 자체가 IP Asset이어야 합니다. 따라서 이 함수를 사용하면 기존 NFT를 IP Asset(파생물이 될 것)으로 등록하거나, 새 NFT를 민팅(그리고 이를 파생물로 등록)할 수 있습니다. 매개변수:
  • request.nft: 두 가지 옵션이 있습니다
    • { type: "minted", nftContract: Address, tokenId: number | bigint }: 기존 NFT를 IP Asset으로 등록합니다. 이미 NFT가 민팅되어 있어야 하므로, 일반적으로 더 어려운 옵션입니다.
    • { type: "mint", spgNftContract: Address, recipient?: Address, allowDuplicates?: boolean }: 새 NFT를 민팅하고 IP Asset으로 등록합니다. 일반적으로 더 쉬운 옵션인데, 이미 민팅된 NFT를 걱정할 필요가 없기 때문입니다. spgNftContract를 만들거나 기본값을 사용하여 민팅을 대신합니다.
  • request.licenseTokenIds: 라이선스 토큰을 사용하여 파생물로 등록하려는 경우.
  • request.derivData: 라이선스 토큰을 직접 민팅하려는 경우.
    • request.derivData.parentIpIds: 등록된 파생 IP에 연결할 부모 IP의 ID.
    • request.derivData.licenseTermsIds: 연결에 사용할 라이선스 조건의 ID.
  • request.royaltyShares: 로열티 토큰을 배포하려는 경우.
    • request.royaltyShares.recipient: 로열티 지분 수신자의 주소.
    • request.royaltyShares.percentage: 로열티 지분의 백분율.
  • request.maxRts: 외부 로열티 정책에 배포될 수 있는 최대 로열티 토큰 수. 0과 100,000,000 사이여야 합니다. 단순성을 위해 권장: 100_000_000
  • request.ipMetadata: IP Asset의 메타데이터
    • request.ipMetadata.ipMetadataURI: IP의 메타데이터 URI.
    • request.ipMetadata.ipMetadataHash: IP의 메타데이터 해시.
    • request.ipMetadata.nftMetadataURI: NFT의 메타데이터 URI.
    • request.ipMetadata.nftMetadataHash: IP NFT의 메타데이터 해시.
  • request.deadline: 서명의 마감 시간 (밀리초). 기본값은 1000.

linkDerivative

기존 파생 IP를 부모 IP에 연결합니다. 매개변수:
  • request.childIpId: 자식 IP의 ID.
  • request.licenseTermIds: 연결에 사용할 라이선스 조건의 ID.
  • request.parentIpIds: 부모 IP의 ID.