Uma atestação representa uma declaração ou afirmação verificada no Sistema de Atestação Solana. As atestações são criadas por signatários autorizados sob uma credencial e seguem um esquema específico. Cada atestação contém os dados reais da declaração e metadados sobre sua criação e validade.
Estrutura
A estrutura Attestation representa uma atestação no Sistema de Atestação Solana. Cada atestação está vinculada a uma credencial, esquema, e contém os dados atestados juntamente com metadados sobre sua criação e período de validade.
Definições de Tipo
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
Buscar Atestações
| Método | Descrição | Parâmetros | Retorna |
|---|---|---|---|
fetchAttestation | Busca uma única atestação pelo seu endereço | rpc: Contexto RPC, address: Endereço da atestação, config?: Configuração de busca | Promise<Account<Attestation>> |
fetchMaybeAttestation | Busca uma atestação com segurança, retorna null se não encontrada | rpc: Contexto RPC, address: Endereço da atestação, config?: Configuração de busca | Promise<MaybeAccount<Attestation>> |
fetchAllAttestation | Busca múltiplas atestações pelos seus endereços | rpc: Contexto RPC, addresses: Array de endereços de atestações, config?: Configuração de busca | Promise<Account<Attestation>[]> |
fetchAllMaybeAttestation | Busca múltiplas atestações com segurança, ignora as não encontradas | rpc: Contexto RPC, addresses: Array de endereços de atestações, config?: Configuração de busca | Promise<MaybeAccount<Attestation>[]> |
Serialização
| Método | Descrição | Parâmetros | Retorna |
|---|---|---|---|
getAttestationEncoder | Obtém o codificador para dados de atestação | Nenhum | Encoder<AttestationArgs> |
getAttestationDecoder | Obtém o decodificador para dados de atestação | Nenhum | Decoder<Attestation> |
getAttestationCodec | Obtém o codec para dados de atestação | Nenhum | Codec<AttestationArgs, Attestation> |
Exemplos de Uso
Buscando uma Única Atestação
const attestation = await fetchAttestation(rpc, attestationAddress);console.log("Attestation nonce:", attestation.nonce);
Buscando Múltiplas Atestações
const attestations = await fetchAllAttestation(rpc, [attestation1Address,attestation2Address]);attestations.forEach((attestation) =>console.log("Attestation:", attestation.nonce));
Busca Segura
const attestation = await fetchMaybeAttestation(rpc, attestationAddress);if (attestation) {console.log("Attestation found:", attestation.nonce);} else {console.log("Attestation not found");}
Notas Importantes
- O campo
discriminatoré usado internamente e não deve ser modificado - O
noncefornece um identificador único para cada atestação - Os campos
credentialeschemavinculam a atestação à sua credencial e esquema associados - O campo
datacontém os dados reais da atestação e deve ser devidamente codificado/decodificado de acordo com o esquema signerdeve ser um dos signatários autorizados da credencial associadaexpirydetermina quando a atestação se torna inválidatokenAccountvincula a atestação a uma token account específica- As atestações só podem ser criadas por signatários autorizados da credencial associada
- Os dados da atestação devem estar em conformidade com a estrutura definida pelo esquema associado
Is this page helpful?