NFTs
Iroha NFT هو كائن رئيسي فريد مع صاحب واحد. استخدم NFTs عندما يحتاج سجل إلى هوية خاصة به، البيانات المعدنية، أحداث دورة الحياة، ونقل الملكية النطاقية، ولكن لا تحتاج إلى توازن عددي .
على عكس الأصول العددية ، لا تمتلك NFT دقة أو قابلية للتنقل أو كميات لكل حساب. يوجد NFT ككائن مسجل واحد ، ويتم تتبع الملكية مباشرة على هذا الكائن.
الهيكل
Nft المسجلة تحتوي على:
id: وNftIdcontent: البيانات الأساسية التي تصف NFTowned_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 تعليمات خاصة:
- يخلق
RegisterNFT مع البدايةcontent. - يزيل
UnregisterNFT. - تغييرات
Transferowned_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 للمسجلات التي تتعلق بالفريدة من نوعها والملكية:
- الشهادات والشعارات والترخيصات وشهادات
- سجلات العضوية أو الوصول
- سجلات الطلبات المرتبطة بالهوية أو المملوكة للحساب
- إشارات إلى وسائل الإعلام أو الوثائق أو المخططات خارج السلسلة
استخدم الأصول الرقمية لموازين قابلة للتلاعب، واستخدم البيانات المعدنية عندما تكون البيانات مجرد صفة صغيرة من كائن الكتيب القائم.
انظر أيضاً: