Poświadczenie reprezentuje organ atestacyjny w systemie atestacji Solana. Poświadczenia określają, kto może wydawać atestacje i jakie typy atestacji może wydawać. Każde poświadczenie ma zestaw autoryzowanych podpisujących, którzy mogą tworzyć atestacje pod jego autorytetem.
Struktura
Struktura Credential reprezentuje poświadczenie w systemie atestacji Solana. Każde poświadczenie definiuje organ, który może wydawać atestacje oraz podpisujących autoryzowanych do tego celu.
Definicje typów
Credential
export type Credential = {discriminator: number; // Internal discriminatorauthority: Address; // Authority public keyname: ReadonlyUint8Array; // Credential nameauthorizedSigners: Array<Address>; // List of authorized signers};
Metody
Pobieranie poświadczeń
| Metoda | Opis | Parametry | Zwraca |
|---|---|---|---|
fetchCredential | Pobiera pojedyncze poświadczenie po jego adresie | rpc: Kontekst RPC, address: Adres poświadczenia, config?: Konfiguracja pobierania | Promise<Account<Credential>> |
fetchMaybeCredential | Bezpiecznie pobiera poświadczenie, zwraca null jeśli nie znaleziono | rpc: Kontekst RPC, address: Adres poświadczenia, config?: Konfiguracja pobierania | Promise<MaybeAccount<Credential>> |
fetchAllCredential | Pobiera wiele poświadczeń po ich adresach | rpc: Kontekst RPC, addresses: Tablica adresów poświadczeń, config?: Konfiguracja pobierania | Promise<Account<Credential>[]> |
fetchAllMaybeCredential | Bezpiecznie pobiera wiele poświadczeń, pomija te nieznalezione | rpc: Kontekst RPC, addresses: Tablica adresów poświadczeń, config?: Konfiguracja pobierania | Promise<MaybeAccount<Credential>[]> |
Serializacja
| Metoda | Opis | Parametry | Zwraca |
|---|---|---|---|
getCredentialEncoder | Pobiera enkoder dla danych poświadczenia | Brak | Encoder<CredentialArgs> |
getCredentialDecoder | Pobiera dekoder dla danych poświadczenia | Brak | Decoder<Credential> |
getCredentialCodec | Pobiera kodek dla danych poświadczenia | Brak | Codec<CredentialArgs, Credential> |
Przykłady użycia
Pobieranie pojedynczego poświadczenia
const credential = await fetchCredential(rpc, credentialAddress);console.log("Credential name:", credential.name);
Pobieranie wielu poświadczeń
const credentials = await fetchAllCredential(rpc, [credential1Address,credential2Address]);credentials.forEach((credential) =>console.log("Credential:", credential.name));
Bezpieczne pobieranie
const credential = await fetchMaybeCredential(rpc, credentialAddress);if (credential) {console.log("Credential found:", credential.name);} else {console.log("Credential not found");}
Ważne uwagi
- Pole
discriminatorjest używane wewnętrznie i nie powinno być modyfikowane - Pole
authorityokreśla, kto ma kontrolę nad poświadczeniem authorizedSignersto tablica adresów, które są upoważnione do tworzenia atestacji w ramach tego poświadczenia- Pole
namejest przechowywane jako tablica bajtów i powinno być odpowiednio zakodowane/odkodowane zgodnie z wymaganiami Twojej aplikacji - Tylko autoryzowani sygnatariusze mogą tworzyć atestacje w ramach poświadczenia
- Uprawniony może modyfikować listę autoryzowanych sygnatariuszy
Is this page helpful?