스키마 생성

증명의 구조 및 유효성 검사 규칙을 정의하는 새로운 스키마를 생성합니다. 이 명령어를 통해 자격 증명 권한은 증명에 포함되어야 하는 필드와 형식을 지정하는 스키마를 만들 수 있습니다.

매개변수

매개변수타입설명
payerSigner트랜잭션 비용을 지불할 계정
authoritySigner자격 증명의 권한
credentialPublicKey | Pda이 스키마가 연결될 자격 증명 계정
schemaPublicKey | Pda생성할 스키마 계정
systemProgramPublicKey | PdaSystem Program 계정 (기본값: '11111111111111111111111111111111')
namestring스키마의 이름
descriptionstring스키마의 목적에 대한 상세 설명
layoutReadonlyUint8Array스키마의 바이너리 레이아웃 정의
fieldNamesstring[]스키마의 필드 이름

반환값

트랜잭션을 구성하고 전송하는 데 사용할 수 있는 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 transaction
await transaction.sendAndConfirm();

주요 참고사항

  • payer는 트랜잭션의 서명자여야 합니다
  • authority는 트랜잭션의 서명자여야 하며 자격 증명의 권한이어야 합니다
  • 스키마 계정은 쓰기 가능해야 합니다
  • 자격 증명 계정은 읽기 가능해야 합니다
  • 이 작업은 rent 면제 계산을 위해 System Program이 필요합니다
  • 스키마 이름은 자격 증명 내에서 설명적이고 고유해야 합니다
  • 설명은 스키마의 목적과 사용법에 대한 명확한 정보를 제공해야 합니다
  • 레이아웃은 증명 데이터의 구조를 정의하는 유효한 바이너리 형식이어야 합니다
  • fieldNames 배열은 레이아웃에 정의된 필드와 일치해야 합니다
  • 스키마는 필요 시 나중에 일시 중지할 수 있습니다
  • 스키마는 데이터 구조의 발전을 지원하기 위해 버전을 관리할 수 있습니다
  • 이 스키마로 생성된 모든 증명은 해당 구조를 준수해야 합니다

Is this page helpful?

목차

페이지 편집

관리자

© 2026 솔라나 재단.
모든 권리 보유.
연결하기