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.

Để biết thêm thông tin về bản chất của các giao dịch Solana, vui lòng tham khảo tài liệu solana-web3.js docs, cũng như Solana Cookbook.

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 errorCodeerrorMessage 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