Учетные данные представляют собой орган аттестации в системе аттестации 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?