Todistus edustaa vahvistettua väitettä tai lausuntoa Solana Attestation System -järjestelmässä. Todistukset luovat valtuutetut allekirjoittajat tunnistetiedon alla, ja ne noudattavat tiettyä skeemaa. Jokainen todistus sisältää väitteen varsinaisen datan ja metatiedot sen luomisesta ja voimassaolosta.
Rakenne
Attestation-rakenne edustaa todistusta Solana Attestation System -järjestelmässä. Jokainen todistus linkittyy tunnistetietoon, skeemaan ja sisältää todistetun datan yhdessä metatietojen kanssa sen luomisesta ja voimassaoloajasta.
Tyyppimäärittelyt
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;};
Metodit
Todistusten hakeminen
| Metodi | Kuvaus | Parametrit | Palauttaa |
|---|---|---|---|
fetchAttestation | Hakee yksittäisen todistuksen sen osoitteella | rpc: RPC-konteksti, address: Todistuksen osoite, config?: Hakukonfiguraatio | Promise<Account<Attestation>> |
fetchMaybeAttestation | Hakee todistuksen turvallisesti, palauttaa null jos ei löydy | rpc: RPC-konteksti, address: Todistuksen osoite, config?: Hakukonfiguraatio | Promise<MaybeAccount<Attestation>> |
fetchAllAttestation | Hakee useita todistuksia niiden osoitteilla | rpc: RPC-konteksti, addresses: Todistusten osoitteiden taulukko, config?: Hakukonfiguraatio | Promise<Account<Attestation>[]> |
fetchAllMaybeAttestation | Hakee useita todistuksia turvallisesti, ohittaa löytymättömät | rpc: RPC-konteksti, addresses: Todistusten osoitteiden taulukko, config?: Hakukonfiguraatio | Promise<MaybeAccount<Attestation>[]> |
Serialisointi
| Metodi | Kuvaus | Parametrit | Palauttaa |
|---|---|---|---|
getAttestationEncoder | Hakee todistusdatan enkooderin | Ei mitään | Encoder<AttestationArgs> |
getAttestationDecoder | Hakee todistusdatan dekooderin | Ei mitään | Decoder<Attestation> |
getAttestationCodec | Hakee todistusdatan koodekkin | Ei mitään | Codec<AttestationArgs, Attestation> |
Käyttöesimerkit
Yhden todistuksen hakeminen
const attestation = await fetchAttestation(rpc, attestationAddress);console.log("Attestation nonce:", attestation.nonce);
Useiden todistusten hakeminen
const attestations = await fetchAllAttestation(rpc, [attestation1Address,attestation2Address]);attestations.forEach((attestation) =>console.log("Attestation:", attestation.nonce));
Turvallinen haku
const attestation = await fetchMaybeAttestation(rpc, attestationAddress);if (attestation) {console.log("Attestation found:", attestation.nonce);} else {console.log("Attestation not found");}
Tärkeää huomioitavaa
discriminator-kenttää käytetään sisäisesti, eikä sitä tule muokatanoncetarjoaa yksilöllisen tunnisteen jokaiselle todistuksellecredential- jaschema-kentät linkittävät todistuksen siihen liittyvään valtuutustietoon ja skeemaandata-kenttä sisältää varsinaisen todistustiedon ja se tulee koodata/purkaa asianmukaisesti skeeman mukaisestisigner:n on oltava yksi liittyvän valtuutustiedon valtuutetuista allekirjoittajistaexpirymäärittää, milloin todistus vanheneetokenAccountlinkittää todistuksen tiettyyn token account-tiliin- Todistuksia voivat luoda ainoastaan liittyvän valtuutustiedon valtuutetut allekirjoittajat
- Todistustiedon on oltava liittyvän skeeman määrittämän rakenteen mukainen
Is this page helpful?