Skip to main content

License Config

LicensingConfig 구조체

스마트 컨트랙트의 LicensingConfig 구조체를 확인하세요.
선택적으로, IP Asset(해당 asset에 첨부된 특정 licenseTermsId에 대해)에 LicensingConfig를 첨부할 수 있으며, 아래와 같이 mintingFeelicensingHook 같은 필드를 포함합니다.
이 중 몇 가지는 무엇을 의미할까요?
  1. isSet - 이것이 false이면, 전체 licensing config는 완전히 무시됩니다. 예를 들어, licensing config의 mintingFee == 10이고 disabled == true이지만 isSet == false이면, mintingFeedisabled는 완전히 무시됩니다.
  2. disabled - 이것이 true이면, config가 첨부된 조건에 대해 라이선스를 발행할 수 없고 더 이상 파생물도 첨부할 수 없습니다.
mintingFeecommercialRevShare 같은 필드는 라이선스 조건 자체의 중복 필드를 덮어씁니다. 이것의 이점은 일반적으로 라이선스 조건을 변경할 수 없는 파생 IP Asset이 특정 필드를 덮어쓸 수 있다는 점입니다. licensingHookILicensingHook 인터페이스를 구현하는 스마트 컨트랙트의 주소로, 사용자가 License Token을 발행하기 전에 실행되는 beforeMintLicenseTokens 함수를 포함합니다. 이는 라이선스 발행 시 실행될 로직을 삽입할 수 있음을 의미합니다. hook 자체는 다른 섹션에서 설명됩니다. 라이선스에 대한 정보, License Token을 발행하는 사람, 받는 사람에 대한 정보를 포함하고 있음을 알 수 있습니다.
Licensing Hooks에 대한 모든 내용은 여기에서 알아보세요.

License Config 설정

LicensingModule.sol 컨트랙트에서 setLicenseConfig 함수를 호출하여 License Config를 설정할 수 있습니다.

License Config로 가능한 로직

  1. 최대 라이선스 수: licensingHook(다음 섹션에서 설명)는 발행할 수 있는 최대 라이선스 수에 대한 로직을 정의할 수 있는 곳입니다. 예를 들어, 최대 라이선스 수가 이미 발행된 경우 트랜잭션을 되돌릴 수 있습니다.
  2. 파생물 금지: IP Asset의 파생물을 등록하면, 해당 파생물은 여기에 설명된 대로 라이선스 조건을 변경할 수 없습니다. “내가 파생물로서 내 자신의 파생물을 금지하고 싶지만 내 라이선스 조건이 파생물을 허용하고 이를 변경할 수 없다면 어떻게 하지?”라고 궁금해할 수 있습니다. 이를 해결하려면 단순히 disabled를 true로 설정하면 됩니다.
  3. 발행 수수료: 위 #2와 비슷한데… 발행 수수료는 어떨까요? 파생 IP Asset에서 라이선스 조건(따라서 그 안의 발행 수수료)을 변경할 수는 없지만, License Config의 mintingFee를 수정하거나 licensingHook(다음 섹션에서 설명)에서 totalMintingFee를 반환하여 해당 파생물의 발행 수수료를 변경할 수 있습니다.
  4. 상업적 수익 분배: 위 #2 및 #3과 비슷하게, License Config의 commercialRevShare를 수정할 수 있습니다.
  5. License Token 발행에 대한 동적 가격 책정: 총 발행된 수, 사용자가 발행하는 라이선스 수, 심지어 사용자가 누구인지에 따라 IP Asset에서 License Token을 발행하기 위한 동적 가격을 설정합니다. 이 모든 데이터는 licensingHook(다음 섹션에서 설명)에서 사용할 수 있습니다.
… 그리고 그 외 더 많은 것들이 있습니다.

제한 사항

License Config 설정에 대한 다양한 제한 사항은 IP 수정 및 제한을 참조하세요.