Skip to content

Разрешениелар

Хисапҡа блокчейн буйынса төрлө эштәр өсөн рөхсәт билдәләре кәрәк, мәҫәлән, активтарҙы йәшереү йәки яндырыу өсөн.

Халыҡ һәм шәхси блокчейн араһында ҡулланыусыларға бирелгән рөхсәттәр буйынса айырма бар. Йәмәғәт блокчейнында күпселек аккаунттарҙың рөхсәттәре бер үк. Шәхси блокчейнда иҫәптәрҙең күпселеге уларға бирелгән хоҡуҡтан тыш бер нәмә лә эшләй алмай тип фаразлана, әгәр тейешле рөхсәткә ярашлы рәүештә бирелгән.

Бер нәмәне эшләргә рөхсәт итеү иҫәбенә тейешле булған тигәнде аңлата Permission. Разрешениелар туранан-тура бирелә ала йәки Role, рөхсәттәре тупланмаһы. Grant рөхсәттәре һәм ролдәр ваҡыты бөтмәне; уларҙы Revoke күрһәтмәләр.

Рөхсәт биреү билдәләре

Разрешение токендары - актив башҡарыусы билдәләгән типтағы объекттар. Ҡайһы бер токендар глобаль, мәҫәлән CanManagePeers, ә башҡалары иҫәп-хисап ҡаҙнаһы объектына, мәҫәлән, иҫәбкә, активҡа, активтың билдәләмәһенә, доменға, NFT роленә йәки ҡуҙғытыусыға арналған.

Бында төрлө рөхсәт билдәләре өсөн ҡулланылған параметрҙарҙың бер нисә миҫалы:

  • Мәғлүмәттәрҙе үҙгәртеүгә рөхсәт биреүсе токендә account полеһы бар:

    json
    {
      "account": "<AccountId>"
    }
  • Аҡсаларҙы күсереүгә рөхсәт биреүсе билдәләмә asset_definition яланына эйә:

    json
    {
      "asset_definition": "<AssetDefinitionId>"
    }
  • CanManagePeers кеүек глобаль символда ер юҡ:

    json
    {}

Алдан конфигурацияланған рөхсәт билдәләре

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 шиғырында.

Эшләү ваҡытын раҫлаусы аппараттар

Рөхсәтте тикшереүҙе актив башҡарыусы үтәй. Башланғыс башҡарыусы индерелгән рөхсәт раҫлаусыларҙы һәм токен билдәләрен бирә, ә селтәр ҡулланылған башҡарыусыны яңыртып, сәйәсәтте үҙгәртә ала.

Валидаторҙар раҫлау вердикты бирә. Белешмә биреүсе операция рөхсәт итә ала, уны сәбәп менән кире ҡаға ала, йәки әгәр операция был валидаторҙың сиктәрендә булмаһа, уны ситтә ҡалдыра ала. һайланған судья күрһәтмәләрҙең, һорауҙарҙың һәм белдереүҙәрҙең дауам итеүен хәл итер өсөн ошо ҡарарҙарҙы берләштерә.

Яҡшы һорауҙар

Разрешение билдәләрен һәм ролдәрен һорарға мөмкин.

Рольдәр өсөн һорауҙар:

Рөхсәт билдәләре өсөн һорауҙар: