Skip to content

թույլտվություններ

Հաշվետիկները պահանջում են թույլտվության տոմսեր բլոկչեյնի վրա տարբեր գործողությունների համար, օրինակ՝ ակտիվների մինթման կամ այրելու համար।

Հասարակական եւ մասնավոր բլոկչենների միջեւ տարբերություն կա օգտվողներին տրված թույլտվությունների առումով: Հանրային բլոկշեններում հաշիվների մեծ մասը ունեն նույն թույլտվությունները: Անձնական բլոկչեյնում հաշիվների մեծ մասը ենթադրվում է, որ չի կարող որեւէ բան անել նրանց տրված լիազորությունից դուրս, եթե բացարձակապես թույլատրված չէ համապատասխան թույլտվությունը:

Ինչ-որ բան կատարելու թույլտվություն ունենալը նշանակում է, որ հաշիվն ունի համապատասխան Permission: թույլտվությունները կարող են տրվել ուղղակիորեն կամ Role, որը խմբավորում է մի շարք թույլտվություններ. թույլտվությունների տրամադրումը տրվում է Grant հրահանգով: թույլտվությունները եւ դերերը չեն ավարտվում: Հեռացրեք դրանք Revoke հրահանգով:

Թույլտվության տոքեր

Թույլտվության տոքերն ակտիվ կատարողի կողմից սահմանված տիպավորված օբյեկտներ են: Որոշ տոքերներ գլոբալ են, ինչպիսիք են CanManagePeers, իսկ մյուսները նախատեսված են հատուկ գրասենյակային առարկայի համար, ինչպիսիք են հաշիվը, ակտիվը, ակտիվի սահմանումը, դոմեյնը, NFT, դերը կամ գործիչը.

Ահա մի քանի պարամետրերի օրինակներ, որոնք օգտագործվում են տարբեր թույլտվությունների տոքերների համար.

  • Տեղեկագրություն, որը թույլ է տալիս կոնկրետ հաշիվի համար մետադատա փոփոխել, պարունակում է account դաշտ.

    json
    {
      "account": "<AccountId>"
    }
  • Տոկեն, որը տրամադրում է ակտիվների փոխանցման թույլտվություն հատուկ ակտիվի սահմանման համար, պարունակում է asset_definition դաշտ.

    json
    {
      "asset_definition": "<AssetDefinitionId>"
    }
  • Գլոբալ տոքեր, ինչպիսիք են CanManagePeers, չունեն դաշտեր.

    json
    {}

Նախապես կոնֆigurված թույլտվության տոքեր

Դուք կարող եք գտնել նախապես կոնֆigurված թույլտվության տոքերների ցանկը Reference բաժնում:

թույլտվությունների խմբեր (ռոլներ)

Թույլտվությունների հավաքածուն կոչվում է դեր: Նմանապես թույլտվության տոնիկների հետ, դերը կարող են տրվել ՝ օգտագործելով Grant հրահանգը եւ չեղյալ հայտարարվել ՝ օգտագործելու Revoke հրահանգը:

Նախքան հաշիվին դեր տալը, դերը պետք է առաջին հերթին գրանցվի:

Պաշտոնները օգտակար են, երբ մի քանի հաշիվներ պետք է ստանան նույն թույլտվությունների հավաքածու. Գրանցեք դերը մեկ անգամ, տրամադրեք թույլտվություններ դերի համար եւ ապա տրեք կամ հանեք դերը առանձին հաշիվների համար:

Գրանցիր նոր դերակատարություն

Եկեք գրանցենք նոր դերակատարություն, որը, երբ տրվի, թույլ կտա մեկ այլ հաշիվ մուտք գործել Մուսի հաշիվում գտնվող մետադատային:

rust
let role_id = RoleId::from_str("ACCESS_TO_MOUSE_METADATA")?;
let role = iroha_data_model::role::Role::new(role_id.clone(), mouse_id.clone())
    .add_permission(CanModifyAccountMetadata {
        account: mouse_id.clone(),
    });
let register_role = Register::role(role);

Պատվիրեք դեր:

Երբ դերը գրանցվի, Մուսը կարող է այն տալ Ալիսին.

rust
let grant_role = Grant::account_role(role_id, alice_id);
let grant_role_tx = TransactionBuilder::new(chain_id, mouse_id)
    .with_instructions([grant_role])
    .sign(mouse_private_key);

թույլտվությունների հավաստիչներ

Թույլտվությունները գոյություն ունեն, այնպես որ միայն պահանջվող թույլտվության տոքեր ունեցող հաշիվները կարող են պաշտպանված գործողություն կատարել: Նախնական կատարողը ստուգում է թույլտվությունները հրահանգների, հարցումների եւ արտահայտությունների գործարկման ընթացքում:

Սովորական վավերացողի մակերեսը խմբավորվում է գլխավոր գրքի տարածքով.

  • զուգընկերների կառավարումը
  • դոմեյններ եւ հաշիվներ
  • ակտիվներ, NFTs, եւ վարկային գրավումներ
  • գործարկիչներ
  • դեր եւ թույլտվություններ
  • կատարող/կատարման ժամկետ, ապացույցներ, կամուրջներ եւ SORA/Nexus մոդուլներ

Հստակ տոքերների ցուցակը հաստատված է աղբյուրի կողմից Permission Tokens հղումով .

Գործընթացային ժամանակահատվածի հաստատիչներ

Թույլտվությունների ստուգումները իրականացվում են ակտիվ կատարողի կողմից: Նախնական կատարողը տրամադրում է ներկառուցված թույլտվության հավաստագրիչները եւ տոկենների սահմանումները, եւ ցանցը կարող է քաղաքականությունը փոխել այն գործադրողին թարմացնելով, որը օգտագործում է.

Վավերացողները վերադարձնում են վավերացման դատավճիռ: Վավերացողը կարող է թույլ տալ գործողություն, մերժել այն պատճառներով կամ բաց թողնել այն, եթե գործողությունը գտնվում է վավերացողի շրջանակից դուրս: Ընտրված դատավորը միավորում է այդ դատավճռները ՝ որոշելու համար, թե արդյոք հրահանգը, հարցումը կամ արտահայտումը կարող են շարունակվել:

Աջակցված հարցեր

թույլտվությունների տոքերն ու դերերը կարող են հարցնել:

Դասերի վերաբերյալ հարցումներ.

թույլտվության տոքերների հարցումները.