创建一个定义证明机构的新凭证。此指令允许用户创建凭证,指定谁可以发布证明以及他们可以发布哪些类型的证明。
参数
| 参数 | 类型 | 描述 |
|---|---|---|
payer | Signer | 支付交易费用的账户 |
credential | PublicKey | Pda | 要创建的凭证账户 |
authority | Signer | 将控制该凭证的权限方 |
systemProgram | PublicKey | Pda | System Program 账户(默认为 '11111111111111111111111111111111') |
name | string | 凭证的名称 |
signers | Address[] | 可以创建证明的授权签名者列表 |
返回值
返回一个 TransactionBuilder,可用于构建和发送交易。
示例
import { getCreateCredentialInstruction } from "sas-lib";const transaction = getCreateCredentialInstruction({payer: payerSigner,credential: credentialPublicKey,authority: authoritySigner,systemProgram: systemProgramPublicKey,name: "My Credential",signers: [signer1PublicKey, signer2PublicKey]});// Send the transactionawait transaction.sendAndConfirm();
重要说明
- 支付方必须是交易的签名者
- 权限方必须是交易的签名者
- 凭证账户必须可写
- 此操作需要 System Program 来计算 rent 豁免
- 权限方将拥有对凭证的控制权,并可以:
- 修改授权签名者列表
- 在此凭证下创建架构
- 关闭凭证
- 授权签名者可以:
- 在此凭证下创建证明
- 关闭他们创建的证明
- 名称应该描述凭证的用途
- 签名者列表最初可以为空,之后可以修改
- 权限方可以是授权签名者之一
Is this page helpful?