Une attestation représente une déclaration ou affirmation vérifiée dans le système d'attestation Solana. Les attestations sont créées par des signataires autorisés sous une accréditation et suivent un schéma spécifique. Chaque attestation contient les données réelles de la déclaration ainsi que des métadonnées sur sa création et sa validité.
Structure
La structure Attestation représente une attestation dans le système d'attestation Solana. Chaque attestation est liée à une accréditation, un schéma, et contient les données attestées ainsi que des métadonnées sur sa création et sa période de validité.
Définitions de types
Attestation
export type Attestation = {discriminator: number; // Internal discriminatornonce: Address; // Unique identifier for the attestationcredential: Address; // Associated credential addressschema: Address; // Associated schema addressdata: ReadonlyUint8Array; // Attestation datasigner: Address; // Address of the signer who created the attestationexpiry: bigint; // Expiration timestamptokenAccount: Address; // Associated token account};
AttestationArgs
export type AttestationArgs = {discriminator: number;nonce: Address;credential: Address;schema: Address;data: ReadonlyUint8Array;signer: Address;expiry: number | bigint; // Can be either number or biginttokenAccount: Address;};
Méthodes
Récupération des attestations
| Méthode | Description | Paramètres | Retourne |
|---|---|---|---|
fetchAttestation | Récupère une attestation unique par son adresse | rpc : Contexte RPC, address : Adresse de l'attestation, config? : Configuration de récupération | Promise<Account<Attestation>> |
fetchMaybeAttestation | Récupère une attestation en toute sécurité, retourne null si non trouvée | rpc : Contexte RPC, address : Adresse de l'attestation, config? : Configuration de récupération | Promise<MaybeAccount<Attestation>> |
fetchAllAttestation | Récupère plusieurs attestations par leurs adresses | rpc : Contexte RPC, addresses : Tableau d'adresses d'attestations, config? : Configuration de récupération | Promise<Account<Attestation>[]> |
fetchAllMaybeAttestation | Récupère plusieurs attestations en toute sécurité, ignore celles non trouvées | rpc : Contexte RPC, addresses : Tableau d'adresses d'attestations, config? : Configuration de récupération | Promise<MaybeAccount<Attestation>[]> |
Sérialisation
| Méthode | Description | Paramètres | Retourne |
|---|---|---|---|
getAttestationEncoder | Obtient l'encodeur pour les données d'attestation | Aucun | Encoder<AttestationArgs> |
getAttestationDecoder | Obtient le décodeur pour les données d'attestation | Aucun | Decoder<Attestation> |
getAttestationCodec | Obtient le codec pour les données d'attestation | Aucun | Codec<AttestationArgs, Attestation> |
Exemples d'utilisation
Récupération d'une attestation unique
const attestation = await fetchAttestation(rpc, attestationAddress);console.log("Attestation nonce:", attestation.nonce);
Récupération de plusieurs attestations
const attestations = await fetchAllAttestation(rpc, [attestation1Address,attestation2Address]);attestations.forEach((attestation) =>console.log("Attestation:", attestation.nonce));
Récupération sécurisée
const attestation = await fetchMaybeAttestation(rpc, attestationAddress);if (attestation) {console.log("Attestation found:", attestation.nonce);} else {console.log("Attestation not found");}
Remarques importantes
- Le champ
discriminatorest utilisé en interne et ne doit pas être modifié - Le
noncefournit un identifiant unique pour chaque attestation - Les champs
credentialetschemarelient l'attestation à ses informations d'identification et schéma associés - Le champ
datacontient les données d'attestation réelles et doit être correctement encodé/décodé selon le schéma signerdoit être l'un des signataires autorisés des informations d'identification associéesexpirydétermine quand l'attestation devient invalidetokenAccountrelie l'attestation à un token account spécifique- Les attestations ne peuvent être créées que par des signataires autorisés des informations d'identification associées
- Les données d'attestation doivent être conformes à la structure définie par le schéma associé
Is this page helpful?