솔라나 문서지침
증명의 구조 및 유효성 검사 규칙을 정의하는 새로운 스키마를 생성합니다. 이 명령어를 통해 자격 증명 권한은 증명에 포함되어야 하는 필드와 형식을 지정하는 스키마를 만들 수 있습니다.
매개변수
| 매개변수 | 타입 | 설명 |
|---|---|---|
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();
주요 참고사항
- payer는 트랜잭션의 서명자여야 합니다
- authority는 트랜잭션의 서명자여야 하며 자격 증명의 권한이어야 합니다
- 스키마 계정은 쓰기 가능해야 합니다
- 자격 증명 계정은 읽기 가능해야 합니다
- 이 작업은 rent 면제 계산을 위해 System Program이 필요합니다
- 스키마 이름은 자격 증명 내에서 설명적이고 고유해야 합니다
- 설명은 스키마의 목적과 사용법에 대한 명확한 정보를 제공해야 합니다
- 레이아웃은 증명 데이터의 구조를 정의하는 유효한 바이너리 형식이어야 합니다
- fieldNames 배열은 레이아웃에 정의된 필드와 일치해야 합니다
- 스키마는 필요 시 나중에 일시 중지할 수 있습니다
- 스키마는 데이터 구조의 발전을 지원하기 위해 버전을 관리할 수 있습니다
- 이 스키마로 생성된 모든 증명은 해당 구조를 준수해야 합니다
Is this page helpful?