NFTs
Iroha NFT-ը եզակի գրասենյակային օբյեկտ է, որը ունի մեկ սեփականատեր: Օգտագործեք NFTs, երբ արձանագրությունը պահանջում է իր ինքնությունը, մեթադատները, կյանքի շրջանի իրադարձությունները եւ տիրապետության փոխանցման սեմանտիկան, բայց չի պահանջում թվային հավասարակշռություն:
Ի տարբերություն թվային ակտիվի, NFT-ը չունի ճշգրտություն, mintability կամ հաշվեկվարկային քանակություններ: 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 աշխատանքային հոսքի միջոցով, որոնք նկարագրվում են Տիրույթներում:
Գրանցել 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 տվյալների իրադրության ֆիլտրը, երբ բաժանորդագրվում եք ledger- ի փոփոխություններին կամ կառուցում եք գործարկիչներ, որոնք արձագանքում են NFT կյանքի շրջանի իրադարձությունների վրա:
թույլտվություններ
Սովորական թույլտվության մակերեսը ներառում է NFT-ի հատուկ տոքեր.
CanRegisterNftCanUnregisterNftCanTransferNftCanModifyNftMetadata
Թույլտվությունների ստուգումները իրականացվում են ակտիվ վավերացնողի կողմից, այնպես որ ցանցը կարող է կատարելագործողին թարմացնելով թույլտվությունը հարմարեցնել: Նայեք Թույլտվության տոքերները ՝ ներկայիս նախնական տոքերների ցուցակի համար:
Ընտրում NFTs
Օգտագործեք NFT տվյալների համար, որտեղ առանձնահատկությունն ու սեփականությունը կարեւոր են.
- վկայականներ, նշաններ, արտոնագրեր եւ վավերացություններ
- անդամակցության կամ մուտքի գրառումներ
- Անձնագրային կամ հաշիվի սեփականությամբ գրանցված դիմումների գրառումներ
- արտահոսքային լրատվամիջոցների, փաստաթղթերի կամ մանիֆեստների հղումներ
Օգտագործեք թվային ակտիվ ֆունգիբալ հավասարակշռման համար եւ օգտագործեք պարզ մետադատա, երբ տվյալները միայն առկա գրքի օբյեկտի համապարփակ հատկանիշ են:
Նայեք նաեւ.