Attestazioni

Un'attestazione rappresenta una dichiarazione o affermazione verificata nel Sistema di Attestazione Solana. Le attestazioni vengono create da firmatari autorizzati associati a una credenziale e seguono uno schema specifico. Ogni attestazione contiene i dati effettivi della dichiarazione e i metadati relativi alla sua creazione e validità.

Struttura

La struct Attestation rappresenta un'attestazione nel Sistema di Attestazione Solana. Ogni attestazione è collegata a una credenziale e a uno schema, e contiene i dati attestati insieme ai metadati relativi alla sua creazione e al periodo di validità.

Definizioni dei Tipi

Attestation

export type Attestation = {
discriminator: number; // Internal discriminator
nonce: Address; // Unique identifier for the attestation
credential: Address; // Associated credential address
schema: Address; // Associated schema address
data: ReadonlyUint8Array; // Attestation data
signer: Address; // Address of the signer who created the attestation
expiry: bigint; // Expiration timestamp
tokenAccount: 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 bigint
tokenAccount: Address;
};

Metodi

Recupero delle Attestazioni

MetodoDescrizioneParametriRestituisce
fetchAttestationRecupera una singola attestazione tramite il suo indirizzorpc: Contesto RPC, address: Indirizzo dell'attestazione, config?: Configurazione di recuperoPromise<Account<Attestation>>
fetchMaybeAttestationRecupera in modo sicuro un'attestazione, restituisce null se non trovatarpc: Contesto RPC, address: Indirizzo dell'attestazione, config?: Configurazione di recuperoPromise<MaybeAccount<Attestation>>
fetchAllAttestationRecupera più attestazioni tramite i loro indirizzirpc: Contesto RPC, addresses: Array di indirizzi di attestazione, config?: Configurazione di recuperoPromise<Account<Attestation>[]>
fetchAllMaybeAttestationRecupera in modo sicuro più attestazioni, salta quelle non trovaterpc: Contesto RPC, addresses: Array di indirizzi di attestazione, config?: Configurazione di recuperoPromise<MaybeAccount<Attestation>[]>

Serializzazione

MetodoDescrizioneParametriRestituisce
getAttestationEncoderOttiene l'encoder per i dati di attestazioneNessunoEncoder<AttestationArgs>
getAttestationDecoderOttiene il decoder per i dati di attestazioneNessunoDecoder<Attestation>
getAttestationCodecOttiene il codec per i dati di attestazioneNessunoCodec<AttestationArgs, Attestation>

Esempi di Utilizzo

Recupero di una Singola Attestazione

const attestation = await fetchAttestation(rpc, attestationAddress);
console.log("Attestation nonce:", attestation.nonce);

Recupero di Più Attestazioni

const attestations = await fetchAllAttestation(rpc, [
attestation1Address,
attestation2Address
]);
attestations.forEach((attestation) =>
console.log("Attestation:", attestation.nonce)
);

Recupero Sicuro

const attestation = await fetchMaybeAttestation(rpc, attestationAddress);
if (attestation) {
console.log("Attestation found:", attestation.nonce);
} else {
console.log("Attestation not found");
}

Note Importanti

  • Il campo discriminator è utilizzato internamente e non deve essere modificato
  • Il campo nonce fornisce un identificatore univoco per ogni attestazione
  • I campi credential e schema collegano l'attestazione alla credenziale e allo schema associati
  • Il campo data contiene i dati effettivi dell'attestazione e deve essere correttamente codificato/decodificato secondo lo schema
  • signer deve essere uno dei firmatari autorizzati della credenziale associata
  • expiry determina quando l'attestazione diventa non valida
  • tokenAccount collega l'attestazione a un token account specifico
  • Le attestazioni possono essere create solo dai firmatari autorizzati della credenziale associata
  • I dati dell'attestazione devono conformarsi alla struttura definita dallo schema associato

Is this page helpful?

Indice dei contenuti

Modifica pagina

Gestito da

© 2026 Solana Foundation.
Tutti i diritti riservati.
Resta connesso