SignTransaction(签名单笔交易)

SignAndSendTransaction 是发送交易最简单且推荐的方法。Backpack 会在签名后立即提交交易,这对用户来说更安全,同时为开发者提供更简洁的 API。

不过,应用也可以仅请求 Backpack 提供交易签名。

签名完成后,应用可使用 web3.js sendRawTransaction 方法自行提交交易。

基础 URL

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

查询字符串参数

  • dapp_encryption_public_key(必填):应用端用于当前connect(连接)会话的原始加密公钥。

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

  • redirect_link(必填):操作完成后,Backpack 应将用户重定向至该 URI。请参阅Specifying Redirects了解更多信息。需进行 URL 编码。

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

{
  "transaction": "...", // 序列化交易,base58 编码
  "session": "...",     // 来自 connect 方法的 token
}
  • transaction (必填):Backpack 将要签名的transaction(交易),已进行序列化并使用 base58 编码。

  • session(必填):来自 Connect 方法的会话 token。详见Handling Sessions

返回值

Approve(同意)

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

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

// 解密后的 `data` 参数内容
{
  transaction: "...", // 已签名的序列化交易,base58 编码
}

transaction:已签名、序列化并以 base58 编码的交易。Backpack 不会提交此交易。应用程序可以通过 web3.js sendRawTransaction 方法提交此交易。

Reject(拒绝)

错误情况会以 errorCodeerrorMessage 作为查询参数返回。

请参阅 Errors 了解所有可能的错误代码。

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

Last updated