Skip to content

NFTs

Iroha NFT هو كائن رئيسي فريد مع صاحب واحد. استخدم NFTs عندما يحتاج سجل إلى هوية خاصة به، البيانات المعدنية، أحداث دورة الحياة، ونقل الملكية النطاقية، ولكن لا تحتاج إلى توازن عددي .

على عكس الأصول العددية ، لا تمتلك NFT دقة أو قابلية للتنقل أو كميات لكل حساب. يوجد NFT ككائن مسجل واحد ، ويتم تتبع الملكية مباشرة على هذا الكائن.

الهيكل

Nft المسجلة تحتوي على:

  • id: و NftId
  • content: البيانات الأساسية التي تصف NFT
  • owned_by: الحساب الذي يملك NFT

الحقل content هو خريطة Metadata. احتفظ بها بصيغة صغيرة: تخزين الحقول الوصفية، والمراجع المستقرة، والهاشات، أو مسارات URIs، أو SoraFS هناك. تخزين الوثائق الكبيرة، وسائل الإعلام، أو حالة التطبيقات عالية المعدل خارج السلسلة وتحتفظ فقط بمراجعة قابلة للتحقق من ذلك على NFT .

جربوا ذلك على Taira

تحقق ما إذا كانت شبكة اختبار Taira العامة تمتلك حاليا سجلات NFT:

bash
curl -fsS 'https://taira.sora.org/v1/nfts?limit=5' \
  | jq '{total, nft_ids: [.items[].id]}'

تحقق من وثيقة OpenAPI الحية لطرق NFT المعروضة عن طريق العقدة:

bash
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 يستخدم هذا النوع من النصوص:

text
name$domain
name$domain.dataspace

على سبيل المثال badge$docs.universal يحدد badge NFT في docs.universal المجال. إذا تم حذف مساحة البيانات، فإن المحلل الحالي يستخدم universal مساحة البيانات، لذلك badge$docs يقرر أن badge$docs.universal.

استخدم أسماء ثابتة NFT IDs. (الـ) ID هو هوية الكائن المستخدمة من خلال التعليمات والسئلة والإذن ومصفحات الأحداث ومرجع التطبيق.

دورة الحياة

NFT استخدام عمليات دورة الحياة Iroha تعليمات خاصة:

جربها محلياً

تفترض هذه الأمثلة أنك قد أطلقت شبكة محلية ولديك إعداد العميل الذي تم إنشاؤه من دليل CLI :

bash
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 من المدخل القياسي:

bash
printf '{"kind":"badge","level":"intro","issuer":"docs"}\n' |
  cargo run --bin iroha -- --config "$IROHA_CONFIG" \
  ledger nft register --id "$NFT_ID"

فحص NFT مباشرة ثم قم بإدراج كل NFTs مع الإدخالات الكاملة:

bash
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 مرة أخرى:

bash
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"

إزالة مفتاح البيانات المتعددة:

bash
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.

bash
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 بعد التشغيل. إذا قمت بنقله ، إما نقله مرة أخرى أو تقديم أمر عدم تسجيل مع تكوين حساب صاحب الحساب الحالي.

bash
cargo run --bin iroha -- --config "$IROHA_CONFIG" \
  ledger nft unregister --id "$NFT_ID"

الأسئلة والأحداث

الاستخدام FindNfts لإدراجها NFTs و FindNftsByAccountId لإدراجها NFTs تملك حساباً

تنشر تحديثات تسجيل NFT وإزالة ونقل وبيانات البيانات المعدنية أحداث بيانات NFT. استخدم مرشح حدوث البيانات Nft عند الاشتراك في تغييرات دفتر التسجيل أو تشكيل محفزات تتفاعل مع أحداث دورة حياة NFT.

الإذن

يحتوي سطح الإذن الافتراضي على رموز محددة ل NFT:

  • CanRegisterNft
  • CanUnregisterNft
  • CanTransferNft
  • CanModifyNftMetadata

يتم تطبيق عمليات التحقق من السماح بواسطة مؤكد وقت التشغيل النشط ، بحيث يمكن للشبكة تخصيص الإذن عن طريق تحديث المنفذ. انظر رموز السماح لقائمة الرموز الافتراضية الحالية .

اختيار NFTs

استخدم NFT للمسجلات التي تتعلق بالفريدة من نوعها والملكية:

  • الشهادات والشعارات والترخيصات وشهادات
  • سجلات العضوية أو الوصول
  • سجلات الطلبات المرتبطة بالهوية أو المملوكة للحساب
  • إشارات إلى وسائل الإعلام أو الوثائق أو المخططات خارج السلسلة

استخدم الأصول الرقمية لموازين قابلة للتلاعب، واستخدم البيانات المعدنية عندما تكون البيانات مجرد صفة صغيرة من كائن الكتيب القائم.

انظر أيضاً: