Облікові дані представляють орган атестації в системі атестації Solana. Облікові дані визначають, хто може видавати атестації та які типи атестацій вони можуть видавати. Кожні облікові дані мають набір авторизованих підписантів, які можуть створювати атестації під їхнім повноваженням.
Структура
Структура Credential представляє облікові дані в системі атестації Solana. Кожні облікові дані визначають орган, який може видавати атестації, та підписантів, уповноважених робити це.
Визначення типів
Credential
export type Credential = {discriminator: number; // Internal discriminatorauthority: Address; // Authority public keyname: ReadonlyUint8Array; // Credential nameauthorizedSigners: Array<Address>; // List of authorized signers};
Методи
Отримання облікових даних
| Метод | Опис | Параметри | Повертає |
|---|---|---|---|
fetchCredential | Отримує одні облікові дані за їхньою адресою | rpc: контекст RPC, address: адреса облікових даних, config?: конфігурація отримання | Promise<Account<Credential>> |
fetchMaybeCredential | Безпечно отримує облікові дані, повертає null, якщо не знайдено | rpc: контекст RPC, address: адреса облікових даних, config?: конфігурація отримання | Promise<MaybeAccount<Credential>> |
fetchAllCredential | Отримує кілька облікових даних за їхніми адресами | rpc: контекст RPC, addresses: масив адрес облікових даних, config?: конфігурація отримання | Promise<Account<Credential>[]> |
fetchAllMaybeCredential | Безпечно отримує кілька облікових даних, пропускає ненайдені | rpc: контекст RPC, addresses: масив адрес облікових даних, config?: конфігурація отримання | Promise<MaybeAccount<Credential>[]> |
Серіалізація
| Метод | Опис | Параметри | Повертає |
|---|---|---|---|
getCredentialEncoder | Отримує кодувальник для даних облікових даних | Немає | Encoder<CredentialArgs> |
getCredentialDecoder | Отримує декодер для даних облікових даних | Немає | Decoder<Credential> |
getCredentialCodec | Отримує кодек для даних облікових даних | Немає | Codec<CredentialArgs, Credential> |
Приклади використання
Отримання одного облікового запису
const credential = await fetchCredential(rpc, credentialAddress);console.log("Credential name:", credential.name);
Отримання кількох облікових записів
const credentials = await fetchAllCredential(rpc, [credential1Address,credential2Address]);credentials.forEach((credential) =>console.log("Credential:", credential.name));
Безпечне отримання
const credential = await fetchMaybeCredential(rpc, credentialAddress);if (credential) {console.log("Credential found:", credential.name);} else {console.log("Credential not found");}
Важливі примітки
- Поле
discriminatorвикористовується внутрішньо і не повинно змінюватися - Поле
authorityвизначає, хто має контроль над обліковим записом authorizedSigners— це масив адрес, яким дозволено створювати атестації в межах цього облікового запису- Поле
nameзберігається як масив байтів і повинно бути належним чином закодовано/декодовано відповідно до потреб вашого додатку - Тільки авторизовані підписанти можуть створювати атестації в межах облікового запису
- Уповноважена особа може змінювати список авторизованих підписантів
Is this page helpful?