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 הוראות מיוחדות:
Registerיוצר את NFT עם ראשוניתcontent.Unregisterמסיר את NFT.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 המתואר ב Domains.
רשום 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. השתמשו ב-filter של אירועי מידע Nft בעת ההרשאה לשינויים בספר הספרים או בבניית גורמים המגיבים לאירועים של מחזור החיים NFT.
רשיונות
שטח הרשיונות המקובל כולל סימנים ספציפיים ל NFT:
CanRegisterNftCanUnregisterNftCanTransferNftCanModifyNftMetadata
בדיקות הרשיונות מבוצעות על ידי מתוקן זמן ההפעלה הפעיל, כך שרשת יכולה להגדיר אישור על ידי עדכון של המבצע. ראה Tokens Permission עבור רשימה הפתיחה הנוכחית של טומנים.
בחירת NFTs
השתמשו ב- NFT עבור רשומות שבהן חשיבות ייחודיות וניהול חשובה:
- תעודות, תגים, רישיונות ותוכנות
- רשומות חברות או גישה
- רשומות בקשות קשורות לזהות או שייך לחשבון
- התייחסות לתקשורת, מסמכים או מניפסטים מחוץ למגוון
השתמשו נכס מספר עבור סכומים פונגיביים, ושימשו מטא נתונים פשוטים כאשר הנתונים הם רק תכונה קומפקטת של אובייקט ספר גדול קיים.
ראו גם: