Документация SolanaИнструкции
Создаёт новую схему, которая определяет структуру и правила валидации для аттестаций. Эта инструкция позволяет органам, выдающим учётные данные, создавать схемы, указывающие, какие поля должна содержать аттестация и как они должны быть отформатированы.
Параметры
| Параметр | Тип | Описание |
|---|---|---|
payer | Signer | Аккаунт, который оплатит транзакцию |
authority | Signer | Орган управления учётными данными |
credential | PublicKey | Pda | Аккаунт учётных данных, с которым будет связана эта схема |
schema | PublicKey | Pda | Создаваемый аккаунт схемы |
systemProgram | PublicKey | Pda | Аккаунт System Program (по умолчанию '11111111111111111111111111111111') |
name | string | Название схемы |
description | string | Подробное описание назначения схемы |
layout | ReadonlyUint8Array | Определение бинарной структуры схемы |
fieldNames | string[] | Названия полей в схеме |
Возвращаемое значение
Возвращает TransactionBuilder, который можно использовать для построения и
отправки транзакции.
Пример
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();
Важные замечания
- Плательщик должен быть подписантом транзакции
- Орган управления должен быть подписантом транзакции и должен являться органом управления учётными данными
- Аккаунт схемы должен быть доступен для записи
- Аккаунт учётных данных должен быть доступен для чтения
- Эта операция требует System Program для расчёта освобождения от rent
- Название схемы должно быть описательным и уникальным в пределах учётных данных
- Описание должно предоставлять чёткую информацию о назначении и использовании схемы
- Структура должна быть корректным бинарным форматом, определяющим структуру данных аттестации
- Массив fieldNames должен соответствовать полям, определённым в структуре
- Схему можно приостановить позже при необходимости
- Схему можно версионировать для поддержки эволюции структуры данных
- Все аттестации, созданные по этой схеме, должны соответствовать её структуре
Is this page helpful?