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 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étodos
Obtención de Attestaciones
| Método | Descripción | Parámetros | Retorna |
|---|---|---|---|
fetchAttestation | Obtiene una attestación individual por su dirección | rpc: Contexto RPC, address: Dirección de la attestación, config?: Configuración de obtención | Promise<Account<Attestation>> |
fetchMaybeAttestation | Obtiene una attestación de forma segura, retorna null si no se encuentra | rpc: Contexto RPC, address: Dirección de la attestación, config?: Configuración de obtención | Promise<MaybeAccount<Attestation>> |
fetchAllAttestation | Obtiene múltiples attestaciones por sus direcciones | rpc: Contexto RPC, addresses: Array de direcciones de attestaciones, config?: Configuración de obtención | Promise<Account<Attestation>[]> |
fetchAllMaybeAttestation | Obtiene múltiples attestaciones de forma segura, omite las no encontradas | rpc: Contexto RPC, addresses: Array de direcciones de attestaciones, config?: Configuración de obtención | Promise<MaybeAccount<Attestation>[]> |
Serialización
| Método | Descripción | Parámetros | Retorna |
|---|---|---|---|
getAttestationEncoder | Obtiene el codificador para datos de attestación | Ninguno | Encoder<AttestationArgs> |
getAttestationDecoder | Obtiene el decodificador para datos de attestación | Ninguno | Decoder<Attestation> |
getAttestationCodec | Obtiene el códec para datos de attestación | Ninguno | Codec<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
discriminatorse utiliza internamente y no debe modificarse - El
nonceproporciona un identificador único para cada attestation - Los campos
credentialyschemavinculan la attestation con su credential y schema asociados - El campo
datacontiene los datos reales de la attestation y debe codificarse/decodificarse adecuadamente según el schema signerdebe ser uno de los firmantes autorizados del credential asociadoexpirydetermina cuándo la attestation deja de ser válidatokenAccountvincula 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?