Учетные данные

Учетные данные представляют собой орган аттестации в системе аттестации 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 Foundation.
Все права защищены.
Связаться с нами