SignMessage

Sau khi kết nối với Backpack, một ứng dụng có thể yêu cầu người dùng ký một thông điệp. Ứng dụng có thể tự tạo thông điệp của riêng mình, và thông điệp này sẽ được hiển thị cho người dùng từ cửa sổ ký của Backpack. Việc ký thông điệp không phát sinh phí mạng và là một cách thuận tiện để ứng dụng xác minh quyền sở hữu địa chỉ.

Để gửi một thông điệp yêu cầu người dùng ký, ứng dụng cần:

  • Cung cấp một chuỗi được mã hóa hex hoặc UTF-8 dưới dạng Uint8Array, sau đó mã hóa bằng base58.

  • Yêu cầu thông điệp đã mã hóa được ký qua ví Backpack của người dùng.

Để biết thêm thông tin về cách xác minh chữ ký của một thông điệp, vui lòng tham khảo Encryption Resources.

URL cơ sở

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

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 (required): Một nonce được sử dụng để mã hóa yêu cầu, được mã hóa bằng base58.

  • redirect_link (required): 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 (required): Một chuỗi JSON đã được mã hóa với các trường sau:

    {
      "message": "...", // the message, base58 encoded
      "session": "...", // token received from connect-method
      "display": "utf8" | "hex", // the encoding to use when displaying the message 
    }
    • message (bắt buộc): Thông điệp cần được người dùng ký, được mã hóa bằng base58. Backpack sẽ hiển thị thông điệp này cho người dùng khi yêu cầu ký.

    • session (required): (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.

    • display (optional): (tùy chọn): Cách bạn muốn chúng tôi hiển thị chuỗi cho người dùng. Mặc định là utf8

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: "...", // message-signature
    }
    • signature: Chữ ký của thông điệp, được mã hóa bằng base58. Để biết thêm thông tin về cách xác minh chữ ký của một thông điệp, vui lòng tham khảo Encryption Resources.

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