Bir attestasyon, Solana Attestasyon Sisteminde doğrulanmış bir iddiayı veya beyanı temsil eder. Attestasyonlar, bir kimlik belgesi altında yetkili imzalayıcılar tarafından oluşturulur ve belirli bir şemayı takip eder. Her attestasyon, iddianın gerçek verilerini ve oluşturulması ile geçerliliğine ilişkin meta verileri içerir.
Yapı
Attestation yapısı, Solana Attestasyon Sistemindeki bir attestasyonu temsil eder. Her attestasyon bir kimlik belgesine ve şemaya bağlanır, attestasyonlu verileri ve oluşturulması ile geçerlilik süresine ilişkin meta verileri içerir.
Tür Tanımları
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;};
Metodlar
Attestasyonları Getirme
| Metod | Açıklama | Parametreler | Döndürür |
|---|---|---|---|
fetchAttestation | Adresi ile tek bir attestasyonu getirir | rpc: RPC bağlamı, address: Attestasyon adresi, config?: Getirme yapılandırması | Promise<Account<Attestation>> |
fetchMaybeAttestation | Güvenli şekilde bir attestasyon getirir, bulunamazsa null döndürür | rpc: RPC bağlamı, address: Attestasyon adresi, config?: Getirme yapılandırması | Promise<MaybeAccount<Attestation>> |
fetchAllAttestation | Adresleri ile birden fazla attestasyon getirir | rpc: RPC bağlamı, addresses: Attestasyon adresleri dizisi, config?: Getirme yapılandırması | Promise<Account<Attestation>[]> |
fetchAllMaybeAttestation | Güvenli şekilde birden fazla attestasyon getirir, bulunamayanları atlar | rpc: RPC bağlamı, addresses: Attestasyon adresleri dizisi, config?: Getirme yapılandırması | Promise<MaybeAccount<Attestation>[]> |
Serileştirme
| Metod | Açıklama | Parametreler | Döndürür |
|---|---|---|---|
getAttestationEncoder | Attestasyon verileri için kodlayıcıyı alır | Yok | Encoder<AttestationArgs> |
getAttestationDecoder | Attestasyon verileri için kod çözücüyü alır | Yok | Decoder<Attestation> |
getAttestationCodec | Attestasyon verileri için codec'i alır | Yok | Codec<AttestationArgs, Attestation> |
Kullanım Örnekleri
Tek Bir Doğrulamayı Getirme
const attestation = await fetchAttestation(rpc, attestationAddress);console.log("Attestation nonce:", attestation.nonce);
Birden Fazla Doğrulamayı Getirme
const attestations = await fetchAllAttestation(rpc, [attestation1Address,attestation2Address]);attestations.forEach((attestation) =>console.log("Attestation:", attestation.nonce));
Güvenli Getirme
const attestation = await fetchMaybeAttestation(rpc, attestationAddress);if (attestation) {console.log("Attestation found:", attestation.nonce);} else {console.log("Attestation not found");}
Önemli Notlar
discriminatoralanı dahili olarak kullanılır ve değiştirilmemelidirnonceher doğrulama için benzersiz bir tanımlayıcı sağlarcredentialveschemaalanları, doğrulamayı ilişkili kimlik bilgisi ve şema ile bağlardataalanı gerçek doğrulama verilerini içerir ve şemaya göre uygun şekilde kodlanmalı/çözülmelidirsignerilişkili kimlik bilgisinin yetkili imzalayıcılarından biri olmalıdırexpirydoğrulamanın ne zaman geçersiz hale geleceğini belirlertokenAccountdoğrulamayı belirli bir token account ile bağlar- Doğrulamalar yalnızca ilişkili kimlik bilgisinin yetkili imzalayıcıları tarafından oluşturulabilir
- Doğrulama verileri, ilişkili şema tarafından tanımlanan yapıya uygun olmalıdır
Is this page helpful?