Bir kimlik bilgisi, Solana Doğrulama Sisteminde bir doğrulama yetkilisini temsil eder. Kimlik bilgileri, kimin doğrulama verebileceğini ve hangi tür doğrulamaları verebileceklerini tanımlar. Her kimlik bilgisinin, yetkisi altında doğrulama oluşturabilen bir dizi yetkili imzalayıcısı vardır.
Yapı
Credential yapısı, Solana Doğrulama Sistemindeki bir kimlik bilgisini temsil eder. Her kimlik bilgisi, doğrulama verebilecek bir yetki ve bunu yapmaya yetkili imzalayıcıları tanımlar.
Tür Tanımlamaları
Credential
export type Credential = {discriminator: number; // Internal discriminatorauthority: Address; // Authority public keyname: ReadonlyUint8Array; // Credential nameauthorizedSigners: Array<Address>; // List of authorized signers};
Metodlar
Kimlik Bilgilerini Çekme
| Metod | Açıklama | Parametreler | Dönüş Değeri |
|---|---|---|---|
fetchCredential | Adresine göre tek bir kimlik bilgisini çeker | rpc: RPC bağlamı, address: Kimlik bilgisinin adresi, config?: Çekme yapılandırması | Promise<Account<Credential>> |
fetchMaybeCredential | Güvenli bir şekilde kimlik bilgisini çeker, bulunamazsa null döner | rpc: RPC bağlamı, address: Kimlik bilgisinin adresi, config?: Çekme yapılandırması | Promise<MaybeAccount<Credential>> |
fetchAllCredential | Adreslerine göre birden fazla kimlik bilgisini çeker | rpc: RPC bağlamı, addresses: Kimlik bilgisi adresleri dizisi, config?: Çekme yapılandırması | Promise<Account<Credential>[]> |
fetchAllMaybeCredential | Güvenli bir şekilde birden fazla kimlik bilgisini çeker, bulunamayanları atlar | rpc: RPC bağlamı, addresses: Kimlik bilgisi adresleri dizisi, config?: Çekme yapılandırması | Promise<MaybeAccount<Credential>[]> |
Serileştirme
| Metod | Açıklama | Parametreler | Dönüş Değeri |
|---|---|---|---|
getCredentialEncoder | Kimlik bilgisi verisi için kodlayıcıyı alır | Yok | Encoder<CredentialArgs> |
getCredentialDecoder | Kimlik bilgisi verisi için kod çözücüyü alır | Yok | Decoder<Credential> |
getCredentialCodec | Kimlik bilgisi verisi için codec'i alır | Yok | Codec<CredentialArgs, Credential> |
Kullanım Örnekleri
Tek Bir Kimlik Bilgisi Getirme
const credential = await fetchCredential(rpc, credentialAddress);console.log("Credential name:", credential.name);
Birden Fazla Kimlik Bilgisi Getirme
const credentials = await fetchAllCredential(rpc, [credential1Address,credential2Address]);credentials.forEach((credential) =>console.log("Credential:", credential.name));
Güvenli Getirme
const credential = await fetchMaybeCredential(rpc, credentialAddress);if (credential) {console.log("Credential found:", credential.name);} else {console.log("Credential not found");}
Önemli Notlar
discriminatoralanı dahili olarak kullanılır ve değiştirilmemelidirauthorityalanı kimlik bilgisi üzerinde kimin kontrole sahip olduğunu belirlerauthorizedSignersbu kimlik bilgisi altında tasdik oluşturmasına izin verilen adreslerin bir dizisidirnamealanı bir bayt dizisi olarak saklanır ve uygulamanızın ihtiyaçlarına göre düzgün bir şekilde kodlanmalı/kod çözülmelidir- Yalnızca yetkili imzalayanlar bir kimlik bilgisi altında tasdik oluşturabilir
- Yetki sahibi, yetkili imzalayanlar listesini değiştirebilir
Is this page helpful?