이 섹션에서는 IP Asset으로부터 License Token을 발행하는 방법을 보여줍니다. IP Asset에 License Terms가 첨부되어 있는 경우에만 License Token을 발행할 수 있습니다. License Token은 ERC-721로 발행됩니다.License Token에서 IP Asset. IP Asset에 License Terms가 첨부되어 있는 경우에만 IP Asset에서 License Token을 발행할 수 있습니다. License Token은 ERC-721로 발행됩니다.

License Token을 발행하는 두 가지 이유가 있습니다:

  1. 라이선스를 보유하고 라이선스에 명시된 대로 기본 IP 자산을 사용할 수 있습니다 (예: “적절한 귀속을 제공하고 수익의 5%를 공유하는 한 상업적으로 사용할 수 있음”)
  2. 라이선스 토큰을 사용하여 다른 IP 자산을 그것의 파생물로 연결합니다.하지만 나중에 보시겠지만, 일부 SDK 함수는 파생물을 등록하기 위해 명시적으로 라이선스 토큰을 먼저 발행할 필요가 없으며, 실제로 뒤에서 이를 처리합니다.

전제 조건

튜토리얼을 시작하기 전에 완료해야 할 몇 가지 단계가 있습니다.

  1. 완료하세요 TypeScript SDK 설정
  2. 라이선스 조건이 추가된 IP 자산. IPA에 라이선스 조건을 추가하는 방법 알아보기 here.

1. 라이선스 발행

IP 자산 (ipId = 0x01)에 라이선스 조건 (licenseTermdId = 10)이 첨부되어 있다고 가정해 봅시다. 우리는 이 조건으로 특정 지갑 주소 (0x02)에 2개의 라이선스 토큰을 발행하고 싶습니다.

일부 IP 자산에는 라이선스를 발행하는 사용자가 defaultMintingFee를 지불해야 하는 라이선스 조건이 첨부되어 있을 수 있음을 유의하세요. 그 예를 TypeScript 튜토리얼에서 볼 수 있습니다.

라이선스 토큰은 licenseTermsId가 이미 IP 자산에 첨부되어 있어 공개적으로 사용 가능한 라이선스인 경우에만 발행할 수 있습니다. 그러나 IP 소유자는 private license를 IP 자산에 첨부되지 않은 licenseTermsId로 라이선스 토큰을 발행하여 만들 수 있습니다.

main.ts
// you should already have a client set up (prerequisite)
import { client } from "./client";

async function main() {
  const response = await client.license.mintLicenseTokens({
    licenseTermsId: "10",
    licensorIpId: "0x641E638e8FCA4d4844F509630B34c9D524d40BE5",
    receiver: "0x641E638e8FCA4d4844F509630B34c9D524d40BE5", // optional. if not provided, it will go to the tx sender
    amount: 2,
    maxMintingFee: BigInt(0), // disabled
    maxRevenueShare: 100, // default
    txOptions: { waitForTransaction: true },
  });

  console.log(
    `License Token minted at transaction hash ${response.txHash}, License IDs: ${response.licenseTokenIds}`
  );
}

main();

1a. 라이선스 토큰 발행에 대한 제한 설정

이는 IP 자산 소유자가 라이선스 토큰의 발행 대상이나 방법에 대한 제한을 설정하고자 할 때의 참고 사항입니다. 다음과 같은 작업을 할 수 있습니다:

  • 발행할 수 있는 라이선스의 최대 수 설정
  • 발행 대상이나 수량에 따른 동적 수수료 부과
  • 토큰 발행을 위한 특정 지갑 화이트리스트 설정

… 등이 있습니다. 자세한 내용은 문서의 License Config 섹션을 확인하세요.

2. 파생물 등록

이제 라이선스 토큰을 발행했으니, 이를 보유하거나 IP 자산을 파생물로 연결하는 데 사용할 수 있습니다. 다음 페이지에서 이에 대해 살펴보겠습니다.

하지만 나중에 보시겠지만, 일부 SDK 함수는 파생물을 등록하기 위해 명시적으로 라이선스 토큰을 먼저 발행할 필요가 없으며, 실제로 뒤에서 이를 처리합니다.

2a. 필요하지 않다면 라이선스 토큰을 왜 사용하나요?

파생물을 등록하기 위해 라이선스 토큰이 필요한 몇 가지 경우가 있습니다:

  • 라이선스 토큰에 비공개 라이선스 조건이 포함되어 있어, 소유자가 수동으로 발행한 라이선스 토큰을 가지고 있어야만 파생물로 등록할 수 있습니다. 자세한 내용은 here를 참조하세요.
  • 라이선스 토큰(NFT)을 발행하는 데 mintingFee가 들지만, 마켓플레이스에서 더 저렴한 가격으로 구매할 수 있었습니다. 이 경우 더 비싼 defaultMintingFee를 지불하는 것보다 라이선스 토큰으로 등록하는 것이 더 합리적입니다.