Un identifiant représente une autorité d'attestation dans le système d'attestation Solana. Les identifiants définissent qui peut émettre des attestations et quels types d'attestations peuvent être émis. Chaque identifiant dispose d'un ensemble de signataires autorisés qui peuvent créer des attestations sous son autorité.
Structure
La structure Credential représente un identifiant dans le système d'attestation Solana. Chaque identifiant définit une autorité pouvant émettre des attestations ainsi que les signataires autorisés à le faire.
Définitions de types
Credential
export type Credential = {discriminator: number; // Internal discriminatorauthority: Address; // Authority public keyname: ReadonlyUint8Array; // Credential nameauthorizedSigners: Array<Address>; // List of authorized signers};
Méthodes
Récupération des identifiants
| Méthode | Description | Paramètres | Retourne |
|---|---|---|---|
fetchCredential | Récupère un seul identifiant par son adresse | rpc : Contexte RPC, address : Adresse de l'identifiant, config? : Configuration de récupération | Promise<Account<Credential>> |
fetchMaybeCredential | Récupère un identifiant en toute sécurité, retourne null si introuvable | rpc : Contexte RPC, address : Adresse de l'identifiant, config? : Configuration de récupération | Promise<MaybeAccount<Credential>> |
fetchAllCredential | Récupère plusieurs identifiants par leurs adresses | rpc : Contexte RPC, addresses : Tableau d'adresses d'identifiants, config? : Configuration de récupération | Promise<Account<Credential>[]> |
fetchAllMaybeCredential | Récupère plusieurs identifiants en toute sécurité, ignore ceux introuvables | rpc : Contexte RPC, addresses : Tableau d'adresses d'identifiants, config? : Configuration de récupération | Promise<MaybeAccount<Credential>[]> |
Sérialisation
| Méthode | Description | Paramètres | Retourne |
|---|---|---|---|
getCredentialEncoder | Obtient l'encodeur pour les données d'identifiant | Aucun | Encoder<CredentialArgs> |
getCredentialDecoder | Obtient le décodeur pour les données d'identifiant | Aucun | Decoder<Credential> |
getCredentialCodec | Obtient le codec pour les données d'identifiant | Aucun | Codec<CredentialArgs, Credential> |
Exemples d'utilisation
Récupération d'une seule accréditation
const credential = await fetchCredential(rpc, credentialAddress);console.log("Credential name:", credential.name);
Récupération de plusieurs accréditations
const credentials = await fetchAllCredential(rpc, [credential1Address,credential2Address]);credentials.forEach((credential) =>console.log("Credential:", credential.name));
Récupération sécurisée
const credential = await fetchMaybeCredential(rpc, credentialAddress);if (credential) {console.log("Credential found:", credential.name);} else {console.log("Credential not found");}
Remarques importantes
- Le champ
discriminatorest utilisé en interne et ne doit pas être modifié - Le champ
authoritydétermine qui a le contrôle sur l'accréditation authorizedSignersest un tableau d'adresses autorisées à créer des attestations dans le cadre de cette accréditation- Le champ
nameest stocké sous forme de tableau d'octets et doit être correctement encodé/décodé selon les besoins de votre application - Seuls les signataires autorisés peuvent créer des attestations dans le cadre d'une accréditation
- L'autorité peut modifier la liste des signataires autorisés
Is this page helpful?