SignAndSendTransaction(签名并发送交易)
一旦连接成功,应用就可以请求用户授权代为发送交易。
要发送交易,应用需执行以下步骤:
创建一个未签名交易;
由用户的 Backpack 钱包签名并提交至网络;
可选地使用 Solana JSON RPC 连接等待网络确认。
基础 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": "..." // 交易签名
}
signature
:交易中的首个签名,可作为transaction ID。
Reject(拒绝)
errorCode
和 errorMessage
作为查询参数。请参阅 Errors 了解所有可能的错误代码列表。
{
"errorCode": "...",
"errorMessage": "..."
}
Last updated