Documentazione SolanaIstruzioni
Crea un nuovo schema che definisce la struttura e le regole di validazione per le attestazioni. Questa istruzione consente alle autorità di credenziali di creare schemi che specificano quali campi deve contenere un'attestazione e come devono essere formattati.
Parametri
| Parametro | Tipo | Descrizione |
|---|---|---|
payer | Signer | L'account che pagherà la transazione |
authority | Signer | L'autorità della credenziale |
credential | PublicKey | Pda | L'account della credenziale a cui sarà associato questo schema |
schema | PublicKey | Pda | L'account dello schema da creare |
systemProgram | PublicKey | Pda | L'account del System Program (predefinito a '11111111111111111111111111111111') |
name | string | Il nome dello schema |
description | string | Una descrizione dettagliata dello scopo dello schema |
layout | ReadonlyUint8Array | La definizione del layout binario dello schema |
fieldNames | string[] | I nomi dei campi nello schema |
Restituisce
Restituisce un TransactionBuilder che può essere utilizzato per costruire e
inviare la transazione.
Esempio
import { getCreateSchemaInstruction } from "sas-lib";const transaction = getCreateSchemaInstruction({payer: payerSigner,authority: authoritySigner,credential: credentialPublicKey,schema: schemaPublicKey,systemProgram: systemProgramPublicKey,name: "Identity Verification",description: "Schema for verifying user identity information",layout: schemaLayoutBytes,fieldNames: ["fullName", "dateOfBirth", "nationality"]});// Send the transactionawait transaction.sendAndConfirm();
Note Importanti
- Il pagatore deve essere un firmatario della transazione
- L'autorità deve essere un firmatario della transazione e deve essere l'autorità della credenziale
- L'account dello schema deve essere scrivibile
- L'account della credenziale deve essere leggibile
- Questa operazione richiede il System Program per i calcoli di esenzione dal rent
- Il nome dello schema dovrebbe essere descrittivo e univoco all'interno della credenziale
- La descrizione dovrebbe fornire informazioni chiare sullo scopo e l'utilizzo dello schema
- Il layout deve essere un formato binario valido che definisce la struttura dei dati di attestazione
- L'array fieldNames deve corrispondere ai campi definiti nel layout
- Lo schema può essere sospeso successivamente se necessario
- Lo schema può essere versionato per supportare l'evoluzione della struttura dei dati
- Tutte le attestazioni create sotto questo schema devono conformarsi alla sua struttura
Is this page helpful?