Attestasi

Atestasi merepresentasikan klaim atau pernyataan terverifikasi dalam Sistem Atestasi Solana. Attestasi dibuat oleh penandatangan yang berwenang di bawah suatu kredensial dan mengikuti skema tertentu. Setiap attestasi berisi data aktual dari klaim tersebut dan metadata tentang pembuatan serta validitasnya.

Struktur

Struct Attestation merepresentasikan attestasi dalam Sistem Attestasi Solana. Setiap attestasi terhubung ke kredensial, skema, dan berisi data yang diatestasi beserta metadata tentang pembuatan dan periode validitasnya.

Definisi Tipe

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

Metode

Mengambil Attestasi

MetodeDeskripsiParameterMengembalikan
fetchAttestationMengambil satu attestasi berdasarkan alamatnyarpc: Konteks RPC, address: Alamat attestasi, config?: Konfigurasi fetchPromise<Account<Attestation>>
fetchMaybeAttestationMengambil attestasi dengan aman, mengembalikan null jika tidak ditemukanrpc: Konteks RPC, address: Alamat attestasi, config?: Konfigurasi fetchPromise<MaybeAccount<Attestation>>
fetchAllAttestationMengambil beberapa attestasi berdasarkan alamat merekarpc: Konteks RPC, addresses: Array alamat attestasi, config?: Konfigurasi fetchPromise<Account<Attestation>[]>
fetchAllMaybeAttestationMengambil beberapa attestasi dengan aman, melewati yang tidak ditemukanrpc: Konteks RPC, addresses: Array alamat attestasi, config?: Konfigurasi fetchPromise<MaybeAccount<Attestation>[]>

Serialisasi

MetodeDeskripsiParameterMengembalikan
getAttestationEncoderMendapatkan encoder untuk data attestasiTidak adaEncoder<AttestationArgs>
getAttestationDecoderMendapatkan decoder untuk data attestasiTidak adaDecoder<Attestation>
getAttestationCodecMendapatkan codec untuk data attestasiTidak adaCodec<AttestationArgs, Attestation>

Contoh Penggunaan

Mengambil Satu Attestation

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

Mengambil Beberapa Attestation

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

Pengambilan yang Aman

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

Catatan Penting

  • Field discriminator digunakan secara internal dan tidak boleh dimodifikasi
  • nonce menyediakan pengenal unik untuk setiap attestation
  • Field credential dan schema menghubungkan attestation dengan kredensial dan skema yang terkait
  • Field data berisi data attestation aktual dan harus dikodekan/didekodekan dengan benar sesuai skema
  • signer harus menjadi salah satu penandatangan resmi dari kredensial yang terkait
  • expiry menentukan kapan attestation menjadi tidak valid
  • tokenAccount menghubungkan attestation ke token account tertentu
  • Attestation hanya dapat dibuat oleh penandatangan resmi dari kredensial yang terkait
  • Data attestation harus sesuai dengan struktur yang ditentukan oleh skema yang terkait

Is this page helpful?

Daftar Isi

Edit Halaman
© 2026 Yayasan Solana. Semua hak dilindungi.