NFTs
Iroha NFT - bu bitta egasiga ega bo'lgan noyob kitob ob'ekti. NFTs dan foydalansangiz, ro'yxatga o'z shaxsiyati, metadatalar, hayot davri voqealari va mulkchilikni o'tkazish semantikasi kerak bo'lsa, lekin raqamli muvozanatga muhtoj emassiz.
Raqamga oʻxshamaydi . aktiv, bir NFT to'g'rilik, mintaqaviylik yoki hisob-kitob miqdori yo'q. NFT bitta ro'yxatdan o'tgan obyekt sifatida mavjud bo'lib, mulkdorlik to'g'ridan-to'g'ri ushbu obyektda kuzatilmoqda.
Tashkilot
Ro'yxatga olingan Nft tarkibida quyidagilar mavjud:
id: birNftIdcontent: NFT faylini tavsiflovchi metadatalarowned_by: NFT hisobvarag'iga ega bo'lgan hisobvaraq
content maydoni Metadata xaritasi hisoblanadi. Uni kompak saqlang: deskriptiv maydonlarni, barqaror ma'lumotlarni, hashlarni, URIs yoki SoraFS yo'llarini saqlash. Yirik hujjatlarni, ommaviy axborot vositalarini yoki yuqori churnli ilovalar holatini zanjirdan tashlab qo'ying va faqat tekshirish mumkin bo'lgan ma'lumotni NFT da saqlang.
Taira bilan sinab ko'ring.
Umumiy Taira testnetda hozirda NFT yozuvlari mavjudmi yoki yo'qmi tekshiring:
curl -fsS 'https://taira.sora.org/v1/nfts?limit=5' \
| jq '{total, nft_ids: [.items[].id]}'NFT nod tomonidan aniqlangan yo'nalishlar uchun jonli OpenAPI hujjatini tekshirish:
curl -fsS https://taira.sora.org/openapi.json \
| jq -r '.paths | keys[] | select(startswith("/v1/nfts") or startswith("/v1/explorer/nfts"))'Bo'sh items massivi ommaviy testnet uchun haqiqiy javobdir. Bu joriy sahifada NFTs yo'qligini anglatadi, NFT ko'rsatmalari mavjud emasligini emas.
NFT IDs
NftId ushbu matn shaklini qo'lladi:
name$domain
name$domain.dataspaceMasalan, badge$docs.universal ta'riflaydi badge NFT bilan docs.universal Agar ma'lumotlar maydonasi chiqarib tashlangan bo'lsa, joriy tahlilchi ushbu universal ma'lumotlar maydoni, shuning uchun badge$docs qaror qiladi: badge$docs.universal.
NFT IDs uchun barqaror nomlardan foydalaning. ID - bu ko'rsatmalar, so'rovlar, ruxsatnomalar, hodisa filtrlari va dastur ma'lumotlari tomonidan ishlatiladigan ob'ekt identifikatsiyasi.
Hayot davri
NFT hayot davri operatsiyalari foydalanish Iroha Maxsus ko'rsatmalar:
Registerboshlang'ichcontentbilan NFT ni yaratadi.UnregisterNFT belgisini olib tashlaydi.Transfero'zgarishlarowned_by.SetKeyValuevaRemoveKeyValueNFT metadatalarini yangilash.
Mahalliy hududda sinab koʻring
Ushbu misollarga ko'ra, siz mahalliy tarmoqni ishga tushirdingiz va CLI qo'llanmadan klient konfiguratsiyasi hosil bo'lgan:
export IROHA_CONFIG=./localnet/client.toml
export NFT_DOMAIN=wonderland.universal
export NFT_ID='badge_intro$wonderland.universal'Yaratilgan lokalnet allaqachon wonderland.universal va uning SNS ijara shartnomasini o'rnatadi. Boshqa domendan foydalanish uchun uni birinchi navbatda app alias setup plan va app alias setup apply ish oqimi bilan yaratish Domains.
NFT raqami ro'yxatdan o'tkazilsin. Ro'yxatga olish dastlabki tarkibni JSON standart kirishdan o'qiydi:
printf '{"kind":"badge","level":"intro","issuer":"docs"}\n' |
cargo run --bin iroha -- --config "$IROHA_CONFIG" \
ledger nft register --id "$NFT_ID"NFT to'g'ridan-to'g'ri tekshirib ko'ring, so'ngra barcha NFTs to'liq yozuvlar bilan ro'yxatdan o'qing:
cargo run --bin iroha -- --config "$IROHA_CONFIG" \
ledger nft get --id "$NFT_ID"
cargo run --bin iroha -- --config "$IROHA_CONFIG" \
ledger nft list all --verboseMetadata kalitini qo'shing va NFT ni yana o'qing:
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"Metadata kalitini olib tashlash:
cargo run --bin iroha -- --config "$IROHA_CONFIG" \
ledger nft meta remove --id "$NFT_ID" --key traitsNFT ni ko'chirish uchun ledger nft get dan foydalanib, hozirgi egasini owned_bydan o'qish va ledger account list all dan foydalanib maqsadli hisob qaydnomani ID topish.
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 namunasini o'chirishdan keyin olib tashlang. Agar siz uni o'tkazgan bo'lsangiz, uni qaytarib yuboring yoki hozirgi egasining hisob raqami konfiguratsiyasi bilan ro'yxatdan chiqarmaslik buyruqini taqdim eting.
cargo run --bin iroha -- --config "$IROHA_CONFIG" \
ledger nft unregister --id "$NFT_ID"Savollar va voqealar
FindNfts dan foydalanib, hisob qaydnomasiga ega bo'lgan NFTs va FindNftsByAccountIddan foydalanib, NFTs ni ro'yxatga oling.
NFT ro'yxatdan o'tish, olib tashlash, uzatish va metadata yangilanishlari NFT ma'lumotlar hodisalarini chiqaradi. Nft ma'lumotlar hodisasi filtridan foydalanib, katta kitobga o'zgarishlar kiritishda yoki NFT hayotiy davrida sodir bo'ladigan voqealarga munosabatda bo'lgan triggerlarni qurishda foydalaning.
Ruxsatlar
Bo'yicha ruxsat berish yuzi NFT uchun maxsus tokenlarni o'z ichiga oladi:
CanRegisterNftCanUnregisterNftCanTransferNftCanModifyNftMetadata
Ruxsatlarni tekshirish faol ishga tushirish vaqtini tasdiqlovchi tomonidan amalga oshiriladi, shuning uchun tarmoq ijrochisini yangilab ruxsatnomalarni moslash mumkin. Ruxsat belgisi joriy andoza tokenlar ro'yxati uchun.
NFTs tanlang
Maxsuslik va egalik ahamiyati bo'lgan yozuvlar uchun NFT dan foydalaning:
- sertifikatlar, belgilar, litsenziyalar va guvohnomalar
- a'zolik yoki kirish yozuvlari
- Kimlik bilan bog'liq yoki hisob-kitobga tegishli arizalar ro'yxati
- zaryaddan tashqaridagi ommaviy axborot vositalariga, hujjatlar yoki manifestlarga murojaat qilish;
Fungible saldolar uchun raqamli aktivdan foydalaning va ma'lumotlar mavjud katta qog'oz obyektining faqat kompakt atributi bo'lganda oddiy metadatalardan foydalaning.
Shuningdek qarang: