NFTs
Iroha NFT - бұл бір меншік иесі бар бірегей кітапша объектісі. Тіркемеге өзінің жеке сәйкестігі, метамәліметтері, өмірлік цикл оқиғалары және иелікті беру семантикасы қажет болса, бірақ сандық тепе-теңдікке мұқтаж болмаған кезде NFTs қолданылсын.
Сандық активтерден айырмашылығы, NFT -де нақтылық, миндабильность немесе есептік сандар жоқ. NFT - бір тіркелген нысан ретінде бар, ал меншік тікелей сол объектке тіркеледі.
Құрылымы
Тіркелген Nft құрамында:
id: бірNftIdcontent: NFT параметрлерін сипаттайтын метабағаларowned_by: NFT қолына ие болған шот
content өрісі - Metadata картасы. Оны тығыз сақтаңыз: сипаттамалық өрістерді, тұрақты сілтемелерді, хештарды, URIs немесе SoraFS жолдарын сақтаңыз. Үлкен құжаттарды, медианы немесе жоғары қимыллы қолданбаларды тізбектен тыс сақтау және тек тексерілетін сілтемені ғана NFT.
Taira арқылы сынап көріңіз.
Қоғамдық Taira тестілеу желісінің қазіргі уақытта NFT жазбалары бар-жоғын тексеріңіз:
curl -fsS 'https://taira.sora.org/v1/nfts?limit=5' \
| jq '{total, nft_ids: [.items[].id]}'Тікелей OpenAPI құжатын түйіннің NFT жолдарына тексеру:
curl -fsS https://taira.sora.org/openapi.json \
| jq -r '.paths | keys[] | select(startswith("/v1/nfts") or startswith("/v1/explorer/nfts"))'Бос items массиві - қоғамдық тестілеу желісінде жарамды жауап. Бұл ағымдағы бетте NFTs жоқ дегенді білдірмейді, бірақ NFT нұсқаулары қолжетімді емес.
NFT IDs
NftId мынадай мәтінді пайдаланады:
name$domain
name$domain.dataspaceМысалы, badge$docs.universal белгілейді badge NFT және docs.universal Егер деректер кеңістігі қалдырылса, ағымдағы талдаушы universal деректер кеңістігі, сондықтан badge$docs шешіледі badge$docs.universal.
NFT IDs үшін тұрақты атауларды пайдаланыңыз. ID нұсқаулар, сұраулар, рұқсаттар, оқиға сүзгілері және қолданба сілтемелерінде қолданылатын нысандық идентификация болып табылады.
Өмір циклі
NFT өмірлік циклді пайдалану Iroha Арнайы нұсқаулар:
Registerбастапқыcontentарқылы NFT құрылады.UnregisterNFT дегенді алып тастайды.Transferөзгерістеріowned_by.SetKeyValueжәнеRemoveKeyValueжаңартылған NFT метамәліметтері.
Жергілікті деңгейде сынап көріңіз
Бұл мысалдар сіз жергілікті желіді іске қосқаныңызды және CLI нұсқаулықтан клиент конфигурациясын пайда еткеніңізді болжайды:
export IROHA_CONFIG=./localnet/client.toml
export NFT_DOMAIN=wonderland.universal
export NFT_ID='badge_intro$wonderland.universal'Жаратылған локальдік желі қазірдің өзінде wonderland.universal және оның SNS жалғасын береді. Басқа доменді пайдалану үшін алдымен оны app alias setup plan және app alias setup apply декларативтік жұмыс барысымен құрыңыз, бұл Домендер.
NFT тіркелу стандартты кірістен бастапқы мазмұны JSON оқылады:
printf '{"kind":"badge","level":"intro","issuer":"docs"}\n' |
cargo run --bin iroha -- --config "$IROHA_CONFIG" \
ledger nft register --id "$NFT_ID"Тікелей NFT тексеріңіз, содан кейін барлық NFTs тізімдерін толық жазумен келтіріңіз:
cargo run --bin iroha -- --config "$IROHA_CONFIG" \
ledger nft get --id "$NFT_ID"
cargo run --bin iroha -- --config "$IROHA_CONFIG" \
ledger nft list all --verboseМетамәліметтер кілтісін қосып, NFT дегенді қайта оқыңыз:
printf '{"color":"blue","rarity":"tutorial"}\n' |
cargo run --bin iroha -- --config "$IROHA_CONFIG" \
ledger nft meta set --id "$NFT_ID" --key traits
cargo run --bin iroha -- --config "$IROHA_CONFIG" \
ledger nft get --id "$NFT_ID"Метадеректер кілтісін алып тастаңыз:
cargo run --bin iroha -- --config "$IROHA_CONFIG" \
ledger nft meta remove --id "$NFT_ID" --key traitsМүмкіндігінше көшіру NFT. Пайдалану ledger nft get қазіргі иесін оқу үшін owned_by, және пайдалану ledger account list all мақсаттағы шотты табу ID.
cargo run --bin iroha -- --config "$IROHA_CONFIG" \
ledger account list all
export CURRENT_OWNER='<account-id-from-owned_by>'
export NEW_OWNER='<destination-account-id>'
cargo run --bin iroha -- --config "$IROHA_CONFIG" \
ledger nft transfer --id "$NFT_ID" --from "$CURRENT_OWNER" --to "$NEW_OWNER"NFT мысалын басып өткеннен кейін алып тастаңыз. Егер сіз оны көшірсеңіз, оны қайта көшіріңіз немесе ағымдағы иесінің тіркелгісінің конфигурациясымен тіркеуден шығу командасын тапсырыңыз.
cargo run --bin iroha -- --config "$IROHA_CONFIG" \
ledger nft unregister --id "$NFT_ID"Сұрақтар мен оқиғалар
FindNfts-ді пайдалану арқылы NFTs және FindNftsByAccountId-ті пайдалану арқылы NFTs тіркелгінің меншігі болып табылады.
NFT тіркелу, өшіру, беру және метамәліметтерді жаңартулар NFT деректер оқиғаларын шығарады. Nft дерек оқиғалары сүзгісін NFT өмірлік циклдегі оқиғаларға реакция жасайтын кітапша өзгерістеріне абонамент берген кезде немесе триггерлерді құру кезінде қолданыңыз.
Рұқсаттар
Әдеттегі рұқсат бетіне NFT -ға арналған белгілер кіреді:
CanRegisterNftCanUnregisterNftCanTransferNftCanModifyNftMetadata
Рұқсаттарды тексеруді белсенді орындау уақытын растаушы жүзеге асырады, сондықтан желі орындаушысын жаңарту арқылы рұқсаттарды баптай алады. Рұқсат белгілері ағымдағы әдеттегі белгілер тізімі үшін.
NFTs таңдау
Ерекшелігі мен меншік мәні бар жазбалар үшін NFT белгісін пайдалан:
- сертификаттар, белгілер, лицензиялар және куәліктер
- мүшелік немесе қолжетімділік жазбалары
- сәйкестікке байланысты немесе шотқа тиесілі өтініштердің жазбалары
- тізбектен тыс ақпарат құралдарына, құжаттарға немесе манифесттерге сілтемелер
Фунгибельді баланстар үшін сандық активті пайдаланыңыз, ал деректер бар кітапша объектісінің тек компакт-аттрибуты болған кезде жай метамәдени деректерді қолданыңыз.
Сондай-ақ қараңыз: