创建证明

在特定凭证和架构下创建新的证明。此指令允许授权签名者创建包含经过验证数据且具有明确过期时间的证明。

参数

参数类型描述
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();

重要说明

  • 只有凭证的授权签名者才能创建证明
  • 授权者必须是交易的签名者
  • 支付者必须是交易的签名者
  • 证明账户必须可写
  • 凭证和架构账户必须可读
  • 此操作需要System Program用于rent豁免计算
  • 架构不得处于暂停状态
  • 数据必须符合架构的结构和验证规则
  • 每个证明的nonce必须唯一
  • 过期时间戳必须在未来
  • 证明在过期时间戳后将失效
  • 凭证必须与架构关联

Is this page helpful?

Table of Contents

Edit Page

管理者

©️ 2026 Solana 基金会版权所有
取得联系