์ฝ๊ธฐ ๊ฑด๋„ˆ๋›ฐ๊ธฐ

IP Assets์— ๋Œ€ํ•œ 1๋ถ„ ๊ฐ„๋‹จ ๊ฐœ์š”๋ฅผ here์—์„œ ํ™•์ธํ•˜์„ธ์š”.

IP Assets๋Š” Story์˜ ๊ธฐ๋ณธ์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐ€๋Šฅํ•œ IP ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์ž…๋‹ˆ๋‹ค. ๊ฐ IP Asset์€ ์˜จ์ฒด์ธ ERC-721 NFT(IP๋ฅผ ๋‚˜ํƒ€๋ƒ„)์ž…๋‹ˆ๋‹ค. IP๊ฐ€ ์˜คํ”„์ฒด์ธ์ธ ๊ฒฝ์šฐ, ๋จผ์ € ํ•ด๋‹น IP๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ERC-721 NFT๋ฅผ ๋ฏผํŒ…ํ•œ ๋‹ค์Œ IP Asset์œผ๋กœ ๋“ฑ๋กํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

IP Asset์ด ์ƒ์„ฑ๋˜๋ฉด ๊ด€๋ จ๋œ โš™๏ธ IP Account๊ฐ€ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ˆ˜์ •๋œ ERC-6551(Token Bound Account) ๊ตฌํ˜„์ž…๋‹ˆ๋‹ค. IP Asset์— ๋ฐ”์ธ๋”ฉ๋œ ๋ณ„๋„์˜ ์ปจํŠธ๋ž™ํŠธ๋กœ, Story์˜ ๋ชจ๋“ˆ๊ณผ์˜ ์ƒํ˜ธ ์ž‘์šฉ์— ๋Œ€ํ•œ ๊ถŒํ•œ์„ ์ œ์–ดํ•˜๊ฑฐ๋‚˜ IP์™€ ๊ด€๋ จ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

IP Asset ๋“ฑ๋กํ•˜๊ธฐ

IP Asset์€ ERC-721 NFT๋ฅผ Story์˜ ๊ธ€๋กœ๋ฒŒ IP Asset Registry์— ๋“ฑ๋กํ•˜์—ฌ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

์ฝ”๋“œ ์˜ˆ์ œ/ํŠœํ† ๋ฆฌ์–ผ๋กœ ๋ฐ”๋กœ ๋„˜์–ด๊ฐ€๊ณ  ์‹ถ๋‹ค๋ฉด How to Register IP on Story๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

NFT vs. IP ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ

Story์—์„œ IP๋Š” ํ”„๋กœํ† ์ฝœ์— IP Asset์œผ๋กœ ๋“ฑ๋ก๋˜๋Š” NFT์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ NFT์™€ IP Asset ๋ชจ๋‘ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์ž์ฒด ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ๋‘˜์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ผ๊นŒ์š”?

ํ‘œ์ค€๋ฌด์—‡์ธ๊ฐ€์š”?
NFTOpensea ERC721 Standardname, description, image, animation_url, attributes ๋“ฑ๊ณผ ๊ฐ™์€ ๊ฒƒ๋“คname, description, image, attributes, animation_url, ๋“ฑ
IP๐Ÿ“ IPA Metadata StandardStory์— ๋” ํŠนํ™”๋˜์–ด ์žˆ์œผ๋ฉฐ, ์นจํ•ด ํ™•์ธ์„ ์œ„ํ•œ ๊ธฐ๋ณธ ์ฝ˜ํ…์ธ ์— ๋Œ€ํ•œ ํ•„์š”ํ•œ ์ •๋ณด, ์ž‘ํ’ˆ์˜ ์ €์ž ๋“ฑ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค

IP Asset์˜ ์†Œ์œ ๊ถŒ, ๋ฒ•์ , ๊ฒฝ์ œ์  ์„ธ๋ถ€ ์‚ฌํ•ญ๊ณผ ๊ฐ™์€ ๋‹ค๋ฅธ ๋ชจ๋“  ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋Š” ์šฐ๋ฆฌ ํ”„๋กœํ† ์ฝœ์—์„œ ์ง์ ‘ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํ”„๋กœํ† ์ฝœ์€ ๐Ÿ“œ Licensing Module์„ ํ†ตํ•ด ๋ถ€๋ชจ-์ž์‹ ๊ด€๊ณ„์™€ ๊ด€๋ จ๋œ ๋ฐ์ดํ„ฐ๋ฅผ, ๐Ÿ’ธ Royalty Module์„ ํ†ตํ•ด IP Asset ๊ฐ„์˜ ๊ธˆ์ „์  ํ๋ฆ„์„, ๐Ÿ’Š Programmable IP License (PIL)์„ ํ†ตํ•ด IP Asset์˜ ๋ฒ•์  ์ œ์•ฝ/๊ถŒํ•œ์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

IP Asset์— NFT & IP ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ํ•˜๊ธฐ

์‹ค์ œ๋กœ SDK๋ฅผ ์‚ฌ์šฉํ•˜๋“  ์Šค๋งˆํŠธ ์ปจํŠธ๋ž™ํŠธ๋ฅผ ์ง์ ‘ ์‚ฌ์šฉํ•˜๋“ , ์šฐ๋ฆฌ ํ”„๋กœํ† ์ฝœ์€ 4๊ฐ€์ง€ ๋‹ค๋ฅธ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ œ๊ณตํ•˜๋„๋ก ์š”๊ตฌํ•ฉ๋‹ˆ๋‹ค:

  • ์—ฌ๊ธฐ์—์„œ WorkflowStructs.sol ์ปจํŠธ๋ž™ํŠธ๋ฅผ here์—์„œ ํ™•์ธํ•˜์„ธ์š”.
WorkflowStructs.sol
/// @notice Struct for metadata for NFT minting and IP registration.
/// @dev Leave the nftMetadataURI empty if not minting an NFT.
/// @param ipMetadataURI The URI of the metadata for the IP.
/// @param ipMetadataHash The hash of the metadata for the IP.
/// @param nftMetadataURI The URI of the metadata for the NFT.
/// @param nftMetadataHash The hash of the metadata for the IP NFT.
struct IPMetadata {
  string ipMetadataURI;
  bytes32 ipMetadataHash;
  string nftMetadataURI;
  bytes32 nftMetadataHash;
}
  • ipMetadataURI - ๐Ÿ“ IPA Metadata Standard๋ฅผ ๋”ฐ๋ฅด๋Š” JSON ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” URI๐Ÿ“ IPA ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ํ‘œ์ค€
  • ipMetadataHash - ipMetadata JSON ๊ฐ์ฒด์˜ ํ•ด์‹œipMetadataURI JSON ๊ฐ์ฒด
  • nftMetadataURI - Opensea ERC721 Standard๋ฅผ ๋”ฐ๋ฅด๋Š” JSON ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” URIOpensea ERC721 Standard
  • nftMetadataHash - nftMetadata JSON ๊ฐ์ฒด์˜ ํ•ด์‹œnftMetadataURI JSON ๊ฐ์ฒด