CIP | μ λͺ© | μ μ | μ£Όμ-URI | λ¨κ³ | μ ν | μμ± | ν¬μ€νΈ νμ€ν 리 | λΌμ΄μ μ€ |
---|---|---|---|---|---|---|---|---|
68 | λ°μ΄ν λ©νλ°μ΄ν° νμ€ | μλ μ°λλ‘ μ½λΌλ alessandro.konrad@live.de, ν λ§μ€ 벨λ μΏ ν thomas.vellekoop@iohk.io | μ μ | μ 보 μ 곡 | 2022-07-13 | CC-BY-4.0 |
κ°μ
μ΄ μ μμ NFTλΏλ§ μλλΌ λͺ¨λ μμ° ν΄λμ€μ λν μΆλ ₯ λ°μ΄ν μ μ¬μ©νλ λ€μ΄ν°λΈ μμ°μ λν λ©νλ°μ΄ν° νμ€μ μ μν©λλ€.
λκΈ°
μ΄ μ μμ CIP-0025μ λͺ κ°μ§ λ¨μ μ λ€λ£Ήλλ€.
- νλ‘κ·Έλλ° κ°λ₯μ±μ λΆμ‘±;
- λ©νλ°μ΄ν° μ λ°μ΄νΈ/κ°μ μ μ΄λ €μ;
- Plutus 밸리λ°μ΄ν° λ΄μμ κ²μ¬ν μ μλ λ©νλ°μ΄ν°β¦
μ΄λ¬ν λ¨μ μΈμλ CIP-0025λ λͺ κ°μ§ μ€κ³μμ κ²°ν¨μ΄ μμ΅λλ€. CIP-0025λ₯Ό λͺ¨λ₯΄λ μ¬λλ€μ΄λ λ€λ₯Έ λ°©μμΌλ‘ λ―Όν (minting)μ νλ €λ μ¬λλ€, λλ λ€λ₯Έ λ©νλ°μ΄ν° νμ/λ©μ»€λμ¦μ μ¬μ©νκ³ μ νλ κ²½μ°, μ΄ νμ€μ΄ μ΄λ―Έ λλΆλΆμ νλ«νΌμμ κΈ°λ³Έμ μΌλ‘ λ©νλ°μ΄ν°λ₯Ό ν΄μνκΈ° λλ¬Έμ λ©νλ°μ΄ν° μ€νΈν(spoofing, μμ₯)μ λν νλ‘ν μ½μ μ΄μ΄λκ² λ©λλ€. μ΄ νμ€μ νλ‘ν μ½ λ 벨μμ κ°μ λ‘ μ μ©λμ§ μμΌλ―λ‘, λͺ¨λκ° μ΄λ₯Ό μΈμνκ±°λ κ·μΉμ λ°λ₯΄μ§ μμ κ°λ₯μ±μ΄ μμ΅λλ€. λμμ, λͺ¨λ μ¬λλ€μ΄ CIP-0025μ κ·μΉμ λ°λ₯΄λλ‘ κ°μ νλ€λ©΄, μμ₯μ λ₯λ ₯μ μ ννκ³ μ μ½μ κ°νκ² λ©λλ€.
μ΄ νμ€μ μ΄λ¬ν λ¬Έμ λ€μ ν΄κ²°νκ³ NFTλΏλ§ μλλΌ κ·Έ μ΄ν λνλ μ μλ λͺ¨λ μμ° ν΄λμ€μ λν λ§μ μ₯μ μ μ 곡ν©λλ€. λν, μ΄ CIPλ μ§κ°κ³Ό κ°μ μ 3μκ° ν΄λΉ ν ν°μ μ’ λ₯λ₯Ό μ½κ² νμ ν μ μλ λ°©λ²μ μκ°ν κ²μ λλ€.
λͺ μΈ
κ³ λ € μ¬ν
κΈ°λ³Έμ μΈ μμ΄λμ΄λ λ κ°μ μμ°μ λ°ννλ κ²μ΄λ©°, ν μμ°μ λ€λ₯Έ μμ°μ μ°Έμ‘°ν©λλ€. μ΄ λ κ°μ§λ₯Ό μ°Έμ‘° NFT
(reference NFT) λ° μ¬μ©μ ν ν°
(user token)μ΄λΌκ³ ν©λλ€. μ¬κΈ°μ μ¬μ©μ ν ν°
μ μ μ‘ κ°λ₯νκ³ λͺ¨λ κ°μ λνλ΄λ NFT, FT λλ κΈ°ν μμ° ν΄λμ€μΌ μ μμ΅λλ€. λ°λΌμ μ¬μ©μ ν ν°
μ μ¬μ©μμ μ§κ°μ μλ μ€μ μμ°μ
λλ€.
μ¬μ©μ ν ν°
μ λν λ©νλ°μ΄ν°λ₯Ό μ°ΎμΌλ €λ©΄ μ°Έμ‘° NFT
κ° μ 겨 μλ μΆλ ₯μ μ°ΎμμΌ ν©λλ€. μ΄κ²μ΄ ꡬ체μ μΌλ‘ μ΄λ»κ² μ΄λ£¨μ΄μ§λμ§λ μλμμ λͺ
νν΄μ§ κ²μ
λλ€. λν μ΄ μΆλ ₯μλ λ©νλ°μ΄ν°λ₯Ό μ μ₯νλ λ°μ΄ν
μ΄ ν¬ν¨λμ΄ μμ΅λλ€. μ΄ μ κ·Ό λ°©μμ μ₯μ μ μμ° λ°νμκ° μ°Έμ‘° NFT
κ° μλ νΈλμμ
μΆλ ₯μ μ κ·Έκ³ μΆκ°λ‘ μ²λ¦¬νλ λ°©λ²μ κ²°μ ν μ μλ€λ κ²μ
λλ€. λ°νμκ° μμ ν λΆλ³ λ©νλ°μ΄ν°λ₯Ό μνλ κ²½μ°, μ°Έμ‘° NFT
λ₯Ό μλΉν μ μλ μ€ν¬λ¦½νΈ(unspendable script)μ μ£Όμμμ μ κΈ μ μμ΅λλ€. λ§μ°¬κ°μ§λ‘, λ°νμκ° NFT/FTλ₯Ό κ°μ μν€κΈ°λ₯Ό μνκ±°λ λ©νλ°μ΄ν°λ₯Ό μ
λ°μ΄νΈνκΈ° μν λ©μ»€λμ¦μ μνλ κ²½μ°, λ°νμκ° κ²°μ νλ μμμ λ‘μ§μΌλ‘ μ°Έμ‘° NFT
λ₯Ό μ€ν¬λ¦½νΈ μ£Όμμμ μ κΈ μ μμ΅λλ€.
λ§μ§λ§μΌλ‘, κ°μ₯ μ€μν κ²μ μ΄ κ΅¬μ±μ μ¬μ©νλ©΄ μ°Έμ‘° μ λ ₯ CIP-0031μ μ¬μ©νμ¬ PlutusV2 μ€ν¬λ¦½νΈμμ λ©νλ°μ΄ν°λ₯Ό μ¬μ©ν μ μλ€λ κ²μ λλ€. μ΄λ ν ν° μμμμ λ ν° νμ μ μ΄μ§ν κ²μ λλ€.
λ μ΄λΈ
κ° μμ° μ΄λ¦μλ λ μ΄λΈμ΄ μ λμ΄λ‘ μΆκ°λμ΄μΌ ν©λλ€. μ΄ λ μ΄λΈμ μλλ ν ν°μ λͺ©μ μ μλ³νλ κ²μ
λλ€. μλ₯Ό λ€μ΄ μ°Έμ‘° NFTλ λ μ΄λΈ 100μΌλ‘ μλ³λλ―λ‘ μ°Έμ‘° NFTλ‘ κ°μ£Όλλ λͺ¨λ ν ν°μ 16μ§μ 000643b0
λ‘ μμ° μ΄λ¦μ μμν΄μΌ ν©λλ€. μ΄κ²μ λ μ΄λΈ μ λμ΄μ νμμ μ§μ νλ CIP-0067μ λ°λ¦
λλ€.
μμ° μ΄λ¦μ μ:
asset_name_label | asset_name_content | resulting_label_hex | resulting_content_hex | resulting_asset_name_hex |
---|---|---|---|---|
100 | GenToken | 000643b0 | 47656e546f6b656e | 000643b047656e546f6b656e |
100 | NeverGonna | 000643b0 | 4e65766572476f6e6e61 | 000643b04e65766572476f6e6e61 |
222 | GiveYouUp | 000de140 | 47697665596f755570 | 000de14047697665596f755570 |
λ¨μνλ₯Ό μν΄, μ΄ λ¬Έμμμλ λ μ΄λΈ (100)
λλ (<label>)
μ μ¬μ©ν κ²μ΄μ§λ§, CIP-0067 λͺ
μΈλ₯Ό λ°λΌμΌ ν¨μ μ΄ν΄ν΄μ£ΌμΈμ.
μ°Έμ‘° NFT λ μ΄λΈ
μ΄λ λ±λ‘λ asset_name_label
κ°μ
λλ€.
asset_name_label | ν΄λμ€ | μ€λͺ |
---|---|---|
100 | NFT | λ°μ΄ν μ΄ ν¬ν¨λ μ€ν¬λ¦½νΈμμ μ κΈ΄ μ°Έμ‘° NFT |
μ μ½ λ° μ‘°κ±΄
μ¬μ©μ ν ν°
κ³Ό μ°Έμ‘° NFT
κ° μ¬λ°λ₯Έ κ΄κ³λ₯Ό μν΄ λͺ κ°μ§ μ‘°κ±΄μ΄ μΆ©μ‘±λμ΄μΌ ν©λλ€.
-
μ¬μ©μ ν ν°
κ³Όμ°Έμ‘° NFT
λ λμΌν μ μ± ID(policy ID) μλμ μμ΄μΌ ν©λλ€. - νΉμ
μ¬μ©μ ν ν°
μ λν΄ μ νν νλμμ°Έμ‘° NFT
κ° μ‘΄μ¬ν΄μΌ ν©λλ€. -
μ¬μ©μ ν ν°
κ³Ό κ΄λ ¨λμ°Έμ‘° NFT
λ νμ€ λ€μ΄λ° ν¨ν΄μ λ°λΌμΌ ν©λλ€. κ°κ°μ μμ° μ΄λ¦μ ν΄λΉasset_name_label
λ‘ μμνκ³ μμ° ν΄λμ€κ° μ μν ν¨ν΄μ΄ μ΄μ΄μ ΈμΌ ν©λλ€. (μ: asset_name_label 222)
μμ λ΄μ©μ λν΄ λͺ κ°μ§ μΈκΈνμλ©΄ λ€μκ³Ό κ°μ΅λλ€.
-
μ¬μ©μ ν ν°
κ³Όμ°Έμ‘° NFT
λ κ°μ νΈλμμ μμ λ°νλ νμλ μμ΅λλ€. λ°ν μμλ μ€μνμ§ μμ΅λλ€. - λμΌν
μ°Έμ‘° NFT
λ₯Ό μ°Έμ‘°νλ μ¬λ¬μ¬μ©μ ν ν°
(μ¬λ¬ μμ° μ΄λ¦ λλ μλμ΄ 1λ³΄λ€ ν° κ²½μ°)μ΄ μ‘΄μ¬ν μλ μμ΅λλ€.
μ°Έμ‘° NFT
κ° μλ μΆλ ₯μ λ°μ΄ν
μλ μμ±μ 0μ 첫 λ²μ§Έ νλμ λ©νλ°μ΄ν°κ° ν¬ν¨λ©λλ€. μ΄ μμ±μ(constructor)μ λ λ²μ§Έ νλμλ λ²μ λ²νΈκ° μμ΅λλ€. μΈ λ²μ§Έ νλλ μμμ plutus λ°μ΄ν°κ° νμ©λ©λλ€. μ΄λ plutus μ€ν¬λ¦½νΈμ κ΄λ ¨ λ°μ΄ν°λ₯Ό μ λ¬νλ λ° μ μ©ν μ μμ΅λλ€.
big_int = int / big_uint / big_nint
big_uint = #6.2(bounded_bytes)
big_nint = #6.3(bounded_bytes)
metadata =
{ * metadata => metadata }
/ [ * metadata ]
/ big_int
/ bounded_bytes
version = int
; Custom user defined plutus data.
; Setting data is optional, but the field is required
; and needs to be at least Unit/Void: #6.121([])
extra = plutus_data
datum = #6.121([metadata, version, extra])
222 NFT νμ€
μ΄ CIPμμλ μ°Έμ‘° NFT
μ νμν νμ€ μΈμ λ κ°μ νΉμ ν ν° νμ€μ μκ°ν©λλ€. μ¬κΈ°μ κ°λ₯μ±μ 무ννλ©° FT, λ€λ₯Έ NFT, λ° λ체 κ°λ₯ ν ν°(semi fungible tokens) λ±μ λν λ λ§μ νμ€μ μ΄ CIP μμ ꡬμΆν μ μμ΅λλ€. 첫 λ²μ§Έλ λ±λ‘λ asset_name_label
μ λμ΄ κ°μΌλ‘ μμνλ 222
NFT νμ€μ
λλ€.
asset_name_label | ν΄λμ€ | μ€λͺ |
---|---|---|
222 | NFT | CIP-0025 λ΄λΆ ꡬ쑰λ₯Ό νμ©νμ¬ μ¬μ©μ μ§κ°μ 보μ λ NFT |
ν΄λμ€
user token
μ NFT(λ체 λΆκ°λ₯ν ν ν°)λ₯Ό λνλ
λλ€ .
ν¨ν΄
μ¬μ©μ ν ν°
κ³Ό μ°Έμ‘° NFT
λ asset_name_label prefix
λ‘ μμνλ λμΌν μ΄λ¦μ κ°μ ΈμΌν©λλ€.
μ:
user token
: (222)Test123
reference NFT
:(100)Test123
λ©νλ°μ΄ν°
μ΄λ CIP-0025 ꡬ쑰λ₯Ό λ°λ₯΄λ λ©νλ°μ΄ν°μ μ μμ€ ννμ λλ€. UTF-8 μΈμ½λ©λ λͺ¨λ ν€ λ° κ°μ μ¨μ²΄μΈ λ°μ΄ν μ μμ±ν λ κ°κ°μ λ°μ΄νΈ ννμΌλ‘ λ³νν΄μΌ ν©λλ€.
files_details =
{
? name : bounded_bytes, ; UTF-8
mediaType : bounded_bytes, ; UTF-8
src : bounded_bytes ; UTF-8
; ... Additional properties are allowed
}
metadata =
{
name : bounded_bytes, ; UTF-8
image : bounded_bytes, ; UTF-8
? mediaType : bounded_bytes, ; UTF-8
? description : bounded_bytes, ; UTF-8
? files : [* files_details]
; ... Additional properties are allowed
}
; Custom user defined plutus data.
; Setting data is optional, but the field is required
; and needs to be at least Unit/Void: #6.121([])
extra = plutus_data
datum = #6.121([metadata, 1, extra]) ; version 1
JSON νμμ λ°μ΄ν μ:
{"constructor" : 0, "fields": [{"map": [{"k": "6E616D65", "v": "5370616365427564"}, {"k": "696D616765", "v": "697066733A2F2F74657374"}]}, {"int": 1}]}
μ 3μμ λ©νλ°μ΄ν° μ‘°ν
μ 3μκ° μ‘°ννλ €λ NFTκ° d5e6bf0500378d4f0da4e8dde6becec7621cd8cbf5cbb9b87013d4cc.(222)TestToken
μ΄λΌκ³ ν λ, λ€μ λ¨κ³λ₯Ό λ°λ¦
λλ€.
-
μ¬μ©μ ν ν°
μΌλ‘λΆν°μ°Έμ‘° NFT
λ₯Ό ꡬμ±ν©λλ€: d5e6bf0500378d4f0da4e8dde6becec7621cd8cbf5cbb9b87013d4cc.(100)TestToken -
μ°Έμ‘° NFT
λ₯Ό μ°Ύμμ μ΄ NFTμ μ κΈ΄ μΆλ ₯μ μ°Ύμ΅λλ€. - μΆλ ₯μμ λ°μ΄ν μ κ°μ Έμμ μμ±μ 0μ 첫 λ²μ§Έ νλλ‘ λ€μ΄κ°μ λ©νλ°μ΄ν°λ₯Ό μ‘°νν©λλ€.
- JSONμΌλ‘ λ³ννκ³ κ°λ₯ν κ²½μ° λͺ¨λ λ¬Έμμ΄ νλͺ©μ UTF-8λ‘ μΈμ½λ©ν©λλ€. κ·Έλ μ§ μμΌλ©΄ 16μ§μλ‘ λ¨κ²¨λ‘λλ€.
Plutus 밸리λ°μ΄ν°μμ λ©νλ°μ΄ν° μ‘°ν
μ°λ¦¬λ ν루ν¬μ€ 밸리λ°μ΄ν° 컨ν
μ€νΈμμ NFT d5e6bf0500378d4f0da4e8dde6becec7621cd8cbf5cbb9b87013d4cc.(222)TestToken
μ λ©νλ°μ΄ν°λ₯Ό κ°μ Έμ€κ³ μ ν©λλ€. μ΄λ₯Ό μν΄ λ€μκ³Ό κ°μ΄ ν©λλ€.
-
μ¬μ©μ ν ν°
μμμ°Έμ‘° NFT
λ₯Ό ꡬμ±ν©λλ€. :d5e6bf0500378d4f0da4e8dde6becec7621cd8cbf5cbb9b87013d4cc.(100)TestToken
(μ€ν체μΈ) -
μ°Έμ‘° NFT
λ₯Ό μ°Ύμ κ·Έ NFTμ μ κΈ΄ μΆλ ₯μ μ°Ύμ΅λλ€. (μ€ν체μΈ) - νΈλμμ μμ ν΄λΉ μΆλ ₯μ μ°Έμ‘°ν©λλ€. (μ€ν체μΈ)
-
μ°Έμ‘° NFT
μμ¬μ©μ ν ν°
μ μ μ± ID λ° μμ° μ΄λ¦(λ¨, asset_name_label μ λμ΄ μ μΈ)μ΄ μΌμΉνλμ§ νμΈνμ¬ μ°Έμ‘°λ μΆλ ₯μ λ°μ΄ν μ΄ μ ν¨νμ§ κ²μ¦ν©λλ€. (μ¨μ²΄μΈ)
333 NFT νμ€
λ λ²μ§Έ μκ°λ νμ€μ asset_name_label
μ λμ΄ κ°μΌλ‘ λ±λ‘λ 333 FT νμ€μ
λλ€.
asset_name_label | ν΄λμ€ | μ€λͺ |
---|---|---|
333 | FT | μΉ΄λ₯΄λ€λ Έ μ¬λ¨ μ€νμ²΄μΈ λ μ§μ€νΈλ¦¬ λ΄λΆ ꡬ쑰λ₯Ό νμ©ν μ¬μ©μ μ§κ°μ 보μ λ FT |
ν΄λμ€
user token
μ FT(λ체 κ°λ₯ ν ν°)μ
λλ€.
ν¨ν΄
μ¬μ©μ ν ν°
κ³Ό μ°Έμ‘° NFT
λ asset_name_label μ λμ΄λ‘ μμνλ λμΌν μ΄λ¦μ κ°μ ΈμΌν©λλ€.
μ:
user token
: (333)Test123
reference NFT
:(100)Test123
λ©νλ°μ΄ν°
μ΄λ μΉ΄λ₯΄λ€λ Έ μ¬λ¨ μ€νμ²΄μΈ λ©νλ°μ΄ν° λ μ§μ€νΈλ¦¬ ꡬ쑰λ₯Ό μ격ν λ°λ₯΄λ λ©νλ°μ΄ν°μ μ μμ€ ννμ λλ€. λͺ¨λ UTF-8 μΈμ½λ© λ ν€μ κ°μ μ¨μ²΄μΈ λ°μ΄ν μ μμ±ν λ ν΄λΉνλ λ°μ΄νΈ ννμΌλ‘ λ³νλμ΄μΌ ν©λλ€.
; Explanation here: https://developers.cardano.org/docs/native-tokens/token-registry/cardano-token-registry/
metadata =
{
name : bounded_bytes, ; UTF-8
description : bounded_bytes, ; UTF-8
? ticker: bounded_bytes, ; UTF-8
? url: bounded_bytes, ; UTF-8
? logo: uri,
? decimals: int
; ... Additional properties are allowed
}
; A URI as a UTF-8 encoded bytestring.
; The URI scheme must be one of `https`, `ipfs` or `data`
; Do not encode plain file payloads as URI.
; 'logo' does not follow the explanation of the token-registry, it needs to be a valid URI and not a plain bytestring.
; Only use the following media types: `image/png`, `image/jpeg`, `image/svg+xml`
uri = bounded_bytes
; Custom user defined plutus data.
; Setting data is optional, but the field is required
; and needs to be at least Unit/Void: #6.121([])
extra = plutus_data
datum = #6.121([metadata, 1, extra]) ; version 1
JSON νμμ λ°μ΄ν μ:
{"constructor" : 0, "fields": [{"map": [{"k": "6E616D65", "v": "5370616365427564"}, {"k": "6465736372697074696F6E", "v": "54686973206973206D79207465737420746F6B656E"}]}, {"int": 1}]}
μ 3μμ λ©νλ°μ΄ν° μ‘°ν
μ 3μκ° μ‘°ννλ €λ FT d5e6bf0500378d4f0da4e8dde6becec7621cd8cbf5cbb9b87013d4cc.(333)TestToken
μ λν΄, λ€μκ³Ό κ°μ λ¨κ³λ₯Ό κ±°μ³ μ‘°νν μ μμ΅λλ€.
-
μ¬μ©μ ν ν°
μμμ°Έμ‘° NFT
ꡬμ±ν©λλ€.:d5e6bf0500378d4f0da4e8dde6bec7621cd8cbf5cbb9b87013d4cc.(100)TestToken
-
μ°Έμ‘° NFT
λ₯Ό μ°Ύμ μ 겨 μλ μΆλ ₯μ μ°Ύμ΅λλ€. - μΆλ ₯μμ λ°μ΄ν μ κ°μ Έμ€κ³ μμ±μ 0μ 첫 λ²μ§Έ νλλ‘ λ€μ΄κ° λ©νλ°μ΄ν°λ₯Ό μ°Ύμ΅λλ€.
- JSONμΌλ‘ λ³ννκ³ κ°λ₯νλ©΄ λͺ¨λ λ¬Έμμ΄ νλͺ©μ UTF-8λ‘ μΈμ½λ©ν©λλ€. κ·Έλ μ§ μμΌλ©΄ 16μ§μλ‘ μ μ§ν©λλ€.
Plutus 밸리λ°μ΄ν°μμ λ©νλ°μ΄ν° μ‘°ν
ν루ν¬μ€ 밸리λ°μ΄ν° 컨ν
μ€νΈμμ FT d5e6bf0500378d4f0da4e8dde6becec7621cd8cbf5cbb9b87013d4cc.(333)TestToken
μ λ©νλ°μ΄ν°λ₯Ό κ°μ Έ μ€λ €κ³ ν©λλ€. μ΄λ₯Ό μν΄ λ€μμ μνν©λλ€.
-
μ¬μ©μ ν ν°
μμμ°Έμ‘° NFT
λ₯Ό ꡬμ±ν©λλ€ :d5e6bf0500378d4f0da4e8dde6becec7621cd8cbf5cbb9b87013d4cc.(100)TestToken
(μ€ν체μΈ) -
μ°Έμ‘° NFT
λ₯Ό μ°Ύμ μ 겨 μλ μΆλ ₯μ μ°Ύμ΅λλ€. (μ€ν체μΈ) - νΈλμμ μμ μΆλ ₯μ μ°Έμ‘°ν©λλ€. (μ€ν체μΈ)
-
μ°Έμ‘° NFT
λ°μ¬μ©μ ν ν°
μ μ μ± IDμ asset_name_label μ λμ΄κ° μλ ν΄λΉ μμ° μ΄λ¦μ΄ μΌμΉνλμ§ νμΈνμ¬ μ°Έμ‘°λ μΆλ ₯μ λ°μ΄ν μ΄ μ ν¨νμ§ κ²μ¦ν©λλ€. (μ¨μ²΄μΈ)
κ·Όκ±°
μ°Έμ‘° NFT
μ μ¬μ©μ ν ν°
μ λΆλ¦¬νμ§ μμΌλ©΄ λͺ¨λ μ μ°μ±μ μκ² λλ©°, μ¬μ©μ ν ν°
μ μ΄λνλ κ²μ΄ λ§€μ° λ²κ±°λ‘μΈ κ²μ
λλ€. μλ‘μ΄ μΆλ ₯μΌλ‘ μ¬μ©μ ν ν°
μ 보λ΄κΈ° μν΄ λ§€λ² λ©νλ°μ΄ν°λ₯Ό μΆκ°ν΄μΌνκΈ° λλ¬Έμ
λλ€. λ°λΌμ λ©νλ°μ΄ν°μ μ¬μ©μ ν ν°
μ λΆλ¦¬νκ³ λ©νλ°μ΄ν°λ₯Ό λ€λ₯Έ UTxO μμ μ κ·Έλ©΄ μ¬μ©μ ν ν°μ μμ λ‘κ² μ΄λν μ μμ΅λλ€.
λ©νλ°μ΄ν°κ° ν¬ν¨λ μ¬λ°λ₯Έ UtxOλ₯Ό μ°Έμ‘°νλ €λ©΄, μΈμ¦μ λ°μμΌ ν©λλ€. κ·Έλ μ§ μμΌλ©΄ λ©νλ°μ΄ν° μ€νΈν κ³΅κ²©μ΄ κ°λ₯ν΄μ§λλ€. μ΄λ₯Ό λ¬μ±νλ ν κ°μ§ λ°©λ²μ UtxOμ NFT(μ°Έμ‘° NFT
)λ₯Ό μΆκ°νλ κ²μ
λλ€. μ΄ NFTλ μ¬μ©μ ν ν°
κ³Ό λμΌν μ μ±
ID μλμμ νμ€μ μ μλ μμ° μ΄λ¦ ν¨ν΄μ λ°λΌμΌ ν©λλ€. μ΄λ κ² νλ©΄ μΆκ° λ°μ΄ν° μμ΄ μ°Έμ‘° NFT
μ μ¬μ©μ ν ν°
κ°μ μμ ν λ§ν¬λ₯Ό μμ±ν μ μμΌλ©° μ΄ μ€νμ²΄μΈ λ° μ¨μ²΄μΈμ νμ©ν μ μμ΅λλ€.
λ§ν¬μ λν 보μμ λ―Όν μ μ± μ체μμ νμλλ―λ‘, μ΄ CIPλ μ΅λν λμ μ μ°μ±μ μ μ§νκΈ° μν΄ μΈν°νμ΄μ€λ§ μ μνλ―λ‘ μ¬λ°λ₯Έ μ μ½ μ¬νκ³Ό κ·μΉμ κ°μ§ 밸리λ°μ΄ν°λ₯Ό μμ±νλ κ²μ΄ μ€μν©λλ€.
νμ νΈνμ±
ν₯ν λ³κ²½ μ¬νκ³Ό λ©νλ°μ΄ν° νΈνμ±μ μ μ§νκΈ° μν΄, λ°μ΄ν
μ version
νλλ₯Ό λμ
ν©λλ€.
νμ± λ°©μ
- CIP-0067μ μμ° μ΄λ¦ λ μ΄λΈμ λν λ°μ΄λ리 μΈμ½λ©μ λμ.
- μ§κ°, νμκΈ°, λꡬ, λ―Όν νλ«νΌ λ° κΈ°ν μ 3μλ‘λΆν° μ΄ CIPμ λν μ§μ λ°κΈ°.
- Lucid (μ€ν체μΈ), PlutusTx (μ¨μ²΄μΈ)λ₯Ό νμ©ν μ΅μνμ μ°Έμ‘° ꡬν: ꡬν
- μ΄ CIPλ₯Ό μ¬μ©νλ λ³΄λ€ μ€μ©μ μΈ μ€νμμ€ κ΅¬ν/νλ‘μ νΈ.
μ°Έμ‘°
- CIP-0025: CIPs/CIP-0025 at master Β· cardano-foundation/CIPs Β· GitHub
- CIP-0031: CIPs/CIP-0031 at master Β· cardano-foundation/CIPs Β· GitHub
- CIP-0067: CIPs/CIP-0067 at master Β· cardano-foundation/CIPs Β· GitHub
μ μκΆ
μ΄ CIPλ CC-BY-4.0 λΌμ΄μ μ€μ λ°λΌ 곡κ°λ©λλ€ .
* μλ¬Έ: CIPs/CIP-0068 at master Β· cardano-foundation/CIPs Β· GitHub