アテステーションの作成

特定のクレデンシャルとスキーマの下に新しいアテステーションを作成します。このInstructionにより、承認された署名者は検証済みデータを含み、有効期限が定義されたアテステーションを作成できます。

パラメータ

パラメータ説明
payerSignerトランザクションの支払いを行うアカウント
authoritySignerクレデンシャルの承認された署名者
credentialPublicKey | Pdaスキーマに関連付けられたクレデンシャルアカウント
schemaPublicKey | Pdaアテステーション構造を定義するスキーマアカウント
attestationPublicKey | Pda作成するアテステーションアカウント
systemProgramPublicKey | PdaSystem Programアカウント(デフォルト: '11111111111111111111111111111111')
nonceAddressアテステーションの一意の識別子
dataReadonlyUint8Arrayスキーマに準拠する必要があるアテステーションデータ
expirynumber | bigintアテステーションの有効期限タイムスタンプ

戻り値

トランザクションの構築と送信に使用できるTransactionBuilderを返します。

import { getCreateAttestationInstruction } from "sas-lib";
const transaction = getCreateAttestationInstruction({
payer: payerSigner,
authority: authoritySigner,
credential: credentialPublicKey,
schema: schemaPublicKey,
attestation: attestationPublicKey,
systemProgram: systemProgramPublicKey,
nonce: noncePublicKey,
data: attestationData,
expiry: expiryTimestamp
});
// Send the transaction
await transaction.sendAndConfirm();

重要な注意事項

  • クレデンシャルの承認された署名者のみがアテステーションを作成できます
  • authorityはトランザクションの署名者である必要があります
  • payerはトランザクションの署名者である必要があります
  • アテステーションアカウントは書き込み可能である必要があります
  • クレデンシャルとスキーマアカウントは読み取り可能である必要があります
  • この操作にはrent免除計算のためにSystem Programが必要です
  • スキーマは一時停止されていない必要があります
  • データはスキーマの構造と検証ルールに準拠する必要があります
  • nonceは各アテステーションで一意である必要があります
  • 有効期限タイムスタンプは未来の時刻である必要があります
  • アテステーションは有効期限タイムスタンプ後に無効になります
  • クレデンシャルはスキーマに関連付けられている必要があります

Is this page helpful?

目次

ページを編集

管理運営

© 2026 Solana Foundation.
無断転載を禁じます。
つながろう