Una credenziale rappresenta un'autorità di attestazione nel Sistema di Attestazione Solana. Le credenziali definiscono chi può emettere attestazioni e quali tipi di attestazioni possono emettere. Ogni credenziale dispone di un insieme di firmatari autorizzati che possono creare attestazioni sotto la sua autorità.
Struttura
La struct Credential rappresenta una credenziale nel Sistema di Attestazione Solana. Ogni credenziale definisce un'autorità che può emettere attestazioni e i firmatari autorizzati a farlo.
Definizioni dei Tipi
Credential
export type Credential = {discriminator: number; // Internal discriminatorauthority: Address; // Authority public keyname: ReadonlyUint8Array; // Credential nameauthorizedSigners: Array<Address>; // List of authorized signers};
Metodi
Recupero delle Credenziali
| Metodo | Descrizione | Parametri | Restituisce |
|---|---|---|---|
fetchCredential | Recupera una singola credenziale tramite il suo indirizzo | rpc: contesto RPC, address: indirizzo della credenziale, config?: configurazione di recupero | Promise<Account<Credential>> |
fetchMaybeCredential | Recupera in modo sicuro una credenziale, restituisce null se non trovata | rpc: contesto RPC, address: indirizzo della credenziale, config?: configurazione di recupero | Promise<MaybeAccount<Credential>> |
fetchAllCredential | Recupera più credenziali tramite i loro indirizzi | rpc: contesto RPC, addresses: array di indirizzi delle credenziali, config?: configurazione di recupero | Promise<Account<Credential>[]> |
fetchAllMaybeCredential | Recupera in modo sicuro più credenziali, salta quelle non trovate | rpc: contesto RPC, addresses: array di indirizzi delle credenziali, config?: configurazione di recupero | Promise<MaybeAccount<Credential>[]> |
Serializzazione
| Metodo | Descrizione | Parametri | Restituisce |
|---|---|---|---|
getCredentialEncoder | Ottiene l'encoder per i dati della credenziale | Nessuno | Encoder<CredentialArgs> |
getCredentialDecoder | Ottiene il decoder per i dati della credenziale | Nessuno | Decoder<Credential> |
getCredentialCodec | Ottiene il codec per i dati della credenziale | Nessuno | Codec<CredentialArgs, Credential> |
Esempi di Utilizzo
Recupero di una Singola Credenziale
const credential = await fetchCredential(rpc, credentialAddress);console.log("Credential name:", credential.name);
Recupero di Più Credenziali
const credentials = await fetchAllCredential(rpc, [credential1Address,credential2Address]);credentials.forEach((credential) =>console.log("Credential:", credential.name));
Recupero Sicuro
const credential = await fetchMaybeCredential(rpc, credentialAddress);if (credential) {console.log("Credential found:", credential.name);} else {console.log("Credential not found");}
Note Importanti
- Il campo
discriminatorè utilizzato internamente e non deve essere modificato - Il campo
authoritydetermina chi ha il controllo sulla credenziale authorizedSignersè un array di indirizzi autorizzati a creare attestazioni per questa credenziale- Il campo
nameè memorizzato come array di byte e deve essere opportunamente codificato/decodificato in base alle esigenze della tua applicazione - Solo i firmatari autorizzati possono creare attestazioni per una credenziale
- L'autorità può modificare l'elenco dei firmatari autorizzati
Is this page helpful?