Облікові дані

Облікові дані представляють орган атестації в системі атестації Solana. Облікові дані визначають, хто може видавати атестації та які типи атестацій вони можуть видавати. Кожні облікові дані мають набір авторизованих підписантів, які можуть створювати атестації під їхнім повноваженням.

Структура

Структура Credential представляє облікові дані в системі атестації Solana. Кожні облікові дані визначають орган, який може видавати атестації, та підписантів, уповноважених робити це.

Визначення типів

Credential

export type Credential = {
discriminator: number; // Internal discriminator
authority: Address; // Authority public key
name: ReadonlyUint8Array; // Credential name
authorizedSigners: 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?

Керується

© 2026 Фонд Solana.
Всі права захищені.
Залишайтеся на зв'язку