Documentación de SolanaInstrucciones
Crea un nuevo esquema que define la estructura y las reglas de validación para las atestaciones. Esta instrucción permite a las autoridades de credenciales crear esquemas que especifican qué campos debe contener una atestación y cómo deben formatearse.
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
payer | Signer | La cuenta que pagará la transacción |
authority | Signer | La autoridad de la credencial |
credential | PublicKey | Pda | La cuenta de credencial a la que se asociará este esquema |
schema | PublicKey | Pda | La cuenta de esquema a crear |
systemProgram | PublicKey | Pda | La cuenta de System Program (por defecto '11111111111111111111111111111111') |
name | string | El nombre del esquema |
description | string | Una descripción detallada del propósito del esquema |
layout | ReadonlyUint8Array | La definición de diseño binario del esquema |
fieldNames | string[] | Los nombres de los campos en el esquema |
Retorna
Retorna un TransactionBuilder que puede usarse para construir y enviar la
transacción.
Ejemplo
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();
Notas importantes
- El pagador debe ser un firmante de la transacción
- La autoridad debe ser un firmante de la transacción y debe ser la autoridad de la credencial
- La cuenta de esquema debe ser escribible
- La cuenta de credencial debe ser legible
- Esta operación requiere el System Program para cálculos de exención de rent
- El nombre del esquema debe ser descriptivo y único dentro de la credencial
- La descripción debe proporcionar información clara sobre el propósito y uso del esquema
- El diseño debe ser un formato binario válido que defina la estructura de los datos de atestación
- El array fieldNames debe coincidir con los campos definidos en el diseño
- El esquema puede pausarse más adelante si es necesario
- El esquema puede versionarse para soportar la evolución de la estructura de datos
- Todas las atestaciones creadas bajo este esquema deben ajustarse a su estructura
Is this page helpful?