Solanaドキュメントinstructions
特定のクレデンシャルとスキーマの下に新しいアテステーションを作成します。このInstructionにより、承認された署名者は検証済みデータを含み、有効期限が定義されたアテステーションを作成できます。
パラメータ
| パラメータ | 型 | 説明 |
|---|---|---|
payer | Signer | トランザクションの支払いを行うアカウント |
authority | Signer | クレデンシャルの承認された署名者 |
credential | PublicKey | Pda | スキーマに関連付けられたクレデンシャルアカウント |
schema | PublicKey | Pda | アテステーション構造を定義するスキーマアカウント |
attestation | PublicKey | Pda | 作成するアテステーションアカウント |
systemProgram | PublicKey | Pda | System Programアカウント(デフォルト: '11111111111111111111111111111111') |
nonce | Address | アテステーションの一意の識別子 |
data | ReadonlyUint8Array | スキーマに準拠する必要があるアテステーションデータ |
expiry | number | 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 transactionawait transaction.sendAndConfirm();
重要な注意事項
- クレデンシャルの承認された署名者のみがアテステーションを作成できます
- authorityはトランザクションの署名者である必要があります
- payerはトランザクションの署名者である必要があります
- アテステーションアカウントは書き込み可能である必要があります
- クレデンシャルとスキーマアカウントは読み取り可能である必要があります
- この操作にはrent免除計算のためにSystem Programが必要です
- スキーマは一時停止されていない必要があります
- データはスキーマの構造と検証ルールに準拠する必要があります
- nonceは各アテステーションで一意である必要があります
- 有効期限タイムスタンプは未来の時刻である必要があります
- アテステーションは有効期限タイムスタンプ後に無効になります
- クレデンシャルはスキーマに関連付けられている必要があります
Is this page helpful?