SignMessage(签名消息)

在连接至 Backpack 后,应用可以请求用户签署一条消息。

应用可自行创建消息,Backpack 在提示签名时会将该消息展示给用户。消息签名不涉及网络费用,是应用验证地址归属权的一种便捷方式。

要发送消息请求用户签名,应用应执行以下操作:

  1. 提供一段以 HexUTF-8 编码的字符串,先转换为 Uint8Array,再用 base58 编码;

  2. 请求用户通过 Backpack 钱包对该编码后的消息进行签名。

有关如何验证消息签名的更多信息,请参阅Encryption Resources

基础 URL

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

查询字符串参数

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

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

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

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

{
  "message": "...", // 待签名的消息,base58 编码
  "session": "...", // 来自 connect 方法的 token
  "display": "utf8" | "hex" // 展示给用户时的编码方式,默认值为 utf8
}
  • message (必填):需要由用户签名的消息,以 base58 编码。当系统提示用户签名时,Backpack 会向用户显示此消息。

  • session (必填):从 Connect 方法接收到的会话令牌。更多详情请参阅 Handling Sessions。

  • display (必填):您希望我们如何向用户显示该字符串。默认为 utf8

返回值

Approve(同意)

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

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

// 解密后的 `data` 参数内容
{
  signature: "...", // 消息签名,base58 编码
}
  • signature:消息签名,以 base58 编码。有关如何验证消息签名的更多信息,请参阅 Encryption Resources

Reject(拒绝)

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

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

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

Last updated