Attestaciones

Una attestación representa una declaración o afirmación verificada en el Sistema de Attestación de Solana. Las attestaciones son creadas por firmantes autorizados bajo una credencial y siguen un esquema específico. Cada attestación contiene los datos reales de la declaración y metadatos sobre su creación y validez.

Estructura

El struct Attestation representa una attestación en el Sistema de Attestación de Solana. Cada attestación se vincula a una credencial, esquema, y contiene los datos attestados junto con metadatos sobre su creación y período de validez.

Definiciones de Tipos

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;
};

Métodos

Obtención de Attestaciones

MétodoDescripciónParámetrosRetorna
fetchAttestationObtiene una attestación individual por su direcciónrpc: Contexto RPC, address: Dirección de la attestación, config?: Configuración de obtenciónPromise<Account<Attestation>>
fetchMaybeAttestationObtiene una attestación de forma segura, retorna null si no se encuentrarpc: Contexto RPC, address: Dirección de la attestación, config?: Configuración de obtenciónPromise<MaybeAccount<Attestation>>
fetchAllAttestationObtiene múltiples attestaciones por sus direccionesrpc: Contexto RPC, addresses: Array de direcciones de attestaciones, config?: Configuración de obtenciónPromise<Account<Attestation>[]>
fetchAllMaybeAttestationObtiene múltiples attestaciones de forma segura, omite las no encontradasrpc: Contexto RPC, addresses: Array de direcciones de attestaciones, config?: Configuración de obtenciónPromise<MaybeAccount<Attestation>[]>

Serialización

MétodoDescripciónParámetrosRetorna
getAttestationEncoderObtiene el codificador para datos de attestaciónNingunoEncoder<AttestationArgs>
getAttestationDecoderObtiene el decodificador para datos de attestaciónNingunoDecoder<Attestation>
getAttestationCodecObtiene el códec para datos de attestaciónNingunoCodec<AttestationArgs, Attestation>

Ejemplos de Uso

Obtener una Única Attestation

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

Obtener Múltiples Attestations

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

Obtención Segura

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

Notas Importantes

  • El campo discriminator se utiliza internamente y no debe modificarse
  • El nonce proporciona un identificador único para cada attestation
  • Los campos credential y schema vinculan la attestation con su credential y schema asociados
  • El campo data contiene los datos reales de la attestation y debe codificarse/decodificarse adecuadamente según el schema
  • signer debe ser uno de los firmantes autorizados del credential asociado
  • expiry determina cuándo la attestation deja de ser válida
  • tokenAccount vincula la attestation a una token account específica
  • Las attestations solo pueden ser creadas por firmantes autorizados del credential asociado
  • Los datos de la attestation deben ajustarse a la estructura definida por el schema asociado

Is this page helpful?

Tabla de Contenidos

Editar Página