Documentação SolanaInstruções
Cria um novo schema que define a estrutura e as regras de validação para atestações. Esta instrução permite que autoridades de credenciais criem schemas que especificam quais campos uma atestação deve conter e como devem ser formatados.
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
payer | Signer | A conta que pagará pela transação |
authority | Signer | A autoridade da credencial |
credential | PublicKey | Pda | A conta de credencial à qual este schema será associado |
schema | PublicKey | Pda | A conta de schema a ser criada |
systemProgram | PublicKey | Pda | A conta do System Program (padrão: '11111111111111111111111111111111') |
name | string | O nome do schema |
description | string | Uma descrição detalhada do propósito do schema |
layout | ReadonlyUint8Array | A definição do layout binário do schema |
fieldNames | string[] | Os nomes dos campos no schema |
Retorno
Retorna um TransactionBuilder que pode ser usado para construir e enviar a
transação.
Exemplo
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
- O pagador deve ser um signatário da transação
- A autoridade deve ser um signatário da transação e deve ser a autoridade da credencial
- A conta de schema deve ser gravável
- A conta de credencial deve ser legível
- Esta operação requer o System Program para cálculos de isenção de rent
- O nome do schema deve ser descritivo e único dentro da credencial
- A descrição deve fornecer informações claras sobre o propósito e o uso do schema
- O layout deve ser um formato binário válido que define a estrutura dos dados de atestação
- O array fieldNames deve corresponder aos campos definidos no layout
- O schema pode ser pausado posteriormente, se necessário
- O schema pode ser versionado para suportar a evolução da estrutura de dados
- Todas as atestações criadas sob este schema devem estar em conformidade com sua estrutura
Is this page helpful?