SignAndSendTransaction
Khi đã kết nối với Backpack, một ứng dụng có thể yêu cầu người dùng cấp quyền để gửi giao dịch thay mặt họ.
Để gửi một giao dịch, ứng dụng phải:
1. Tạo một giao dịch chưa ký.
2. Để giao dịch được ký và gửi lên mạng bởi ví Backpack của người dùng.
3. (Tuỳ chọn) Chờ xác nhận từ mạng bằng cách sử dụng kết nối Solana JSON RPC.
URL cơ sở
https://backpack.app/ul/v1/signAndSendTransaction
Tham số Chuỗi Truy vấn
dapp_encryption_public_key
(bắt buộc): Khóa công khai mã hóa ban đầu được ứng dụng sử dụng cho phiên Connect hiện có.nonce
(bắt buộc): Một nonce được sử dụng để mã hóa yêu cầu, được mã hóa bằng base58.redirect_link
(bắt buộc): URI nơi Backpack sẽ chuyển hướng người dùng sau khi hoàn tất. Vui lòng tham khảo Specifying Redirects để biết thêm chi tiết. Được mã hóa URL.payload
(bắt buộc): Một chuỗi JSON đã được mã hóa với các trường sau:
{
"transaction": "...", // serialized transaction, base58-encoded
"sendOptions": "..." // an optional Solana web3.js sendOptions object
"session": "...", // token received from the connect method
}
transaction
(bắt buộc): Giao dịch mà Backpack sẽ ký và gửi được tuần tự hóa và mã hóa bằng base58.sendOptions
(tùy chọn): Một đối tượng tùy chọn chỉ định các tùy chọn về cách Backpack nên gửi giao dịch. Đối tượng này được định nghĩa trong Solana web3.js.session
(bắt buộc): Mã phiên nhận được từ phương thức Connect . Vui lòng tham khảo Handling Sessions để biết thêm chi tiết.
Kết Quả Trả Về
Chấp nhận
nonce
: Một nonce được sử dụng để mã hóa phản hồi, được mã hóa bằng base58.data
: Một chuỗi JSON đã được mã hóa. Tham khảo Encryption để tìm hiểu cách ứng dụng có thể giải mãdata
bằng shared secret. Các byte đã mã hóa được mã hóa bằng base58.
// content of decrypted `data`-parameter
{
"signature": "..." // transaction-signature
}
signature
: Chữ ký đầu tiên trong giao dịch có thể được sử dụng làm ID giao dịch.
Từ chối
Một errorCode
và errorMessage
dưới dạng các tham số truy vấn. Vui lòng tham khảo Errors để biết danh sách đầy đủ các mã lỗi có thể xảy ra.
{
"errorCode": "...",
"errorMessage": "..."
}
Last updated