IPAssetClient
메서드
- registerIpAsset
- registerDerivativeIpAsset
- linkDerivative
registerIpAsset
IP를 🧩 IP Asset으로 등록합니다. 다음 워크플로우를 지원합니다:- IP Asset 등록 1a. 기존 NFT를 IP Asset으로 등록 1b. 새 NFT를 민팅하고 IP Asset으로 등록
- IP Asset에 라이선스 조건 첨부
- 로열티 토큰 배포
이 함수는 또한 기본 NFT의
tokenUri를 ipMetadata.nftMetadataURI에
전달된 값으로 설정합니다.| Method | Type |
|---|---|
registerIpAsset | (request: RegisterIpAssetRequest) => Promise<RegisterIpAssetResponse> |
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를 민팅(그리고 이를 파생물로 등록)할 수 있습니다.| Method | Type |
|---|---|
registerDerivativeIpAsset | (request: RegisterDerivativeIpRequest) => Promise<RegisterDerivativeIpResponse> |
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_000request.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에 연결합니다.| Method | Type |
|---|---|
linkDerivative | (request: LinkDerivativeRequest) => Promise<LinkDerivativeResponse> |
- 라이선스 토큰 없이
- 라이선스 토큰 사용
request.childIpId: 자식 IP의 ID.request.licenseTermIds: 연결에 사용할 라이선스 조건의 ID.request.parentIpIds: 부모 IP의 ID.