SignAndSendTransaction(签名并发送交易)

一旦连接成功,应用就可以请求用户授权代为发送交易。

要发送交易,应用需执行以下步骤:

  1. 创建一个未签名交易;

  2. 由用户的 Backpack 钱包签名并提交至网络;

  3. 可选地使用 Solana JSON RPC 连接等待网络确认。

有关 Solana 交易的更多信息,请参考 solana-web3.js 文档 以及 Solana Cookbook

基础 URL

https://backpack.app/ul/v1/signAndSendTransaction

查询字符串参数

  • dapp_encryption_public_key(必填):用于现有connect(连接)会话的原始加密公钥。

  • nonce(必填):用于加密请求的 base58 编码随机数。

  • redirect_link(必填):操作完成后,Backpack 应将用户Specifying Redirects(重定向)至该 URI。需进行 URL 编码。

  • payload(必填):加密的 JSON 字符串,包含以下字段:

{
  "transaction": "...", // 序列化的交易,base58 编码
  "sendOptions": "...", // 可选的 Solana web3.js sendOptions 对象
  "session": "...",     // 来自 connect 方法的 token
}
  • transaction(必填):Backpack 将签名并提交的transaction(交易)已经被序列化,并以 base58 编码表示。

  • sendOptions(可选):一个可选对象,用于指定 Backpack 应如何提交交易的选项。此对象在 Solana 的 web3.js 中定义。

  • session(必填):通过 Connect 方法接收到的会话凭证。有关详细信息,请参阅 Handling Sessions

返回值

Approve(同意)

  • nonce:用于加密响应的 base58 编码随机数。

  • data:加密的 JSON 字符串。参考Encryption了解如何通过共享密钥解密。加密内容以 base58 编码。

// 解密后的 `data` 参数内容
{  
    "signature": "..." // 交易签名
}

Reject(拒绝)

errorCodeerrorMessage 作为查询参数。请参阅 Errors 了解所有可能的错误代码列表。

{
  "errorCode": "...",
  "errorMessage": "..."
}

Last updated