< Quay lại Tin tức

SSP Connect bổ sung hành động pay

·4 phút đọc·Bởi SSP Editorial Team
Bìa SSP xanh navy với biểu tượng QR, ví, tia chớp và khiên thông báo hành động pay của SSP Connect

Vào ngày 11 tháng 2 năm 2024, SSP Connect không còn chỉ là một giao thức xem và định danh, mà đã trở thành một giao thức thanh toán. Phiên bản v1.1.0 của SSP Wallet bổ sung phương thức pay vào SSP Connect, cho phép bất kỳ dApp hay trang web nào yêu cầu một khoản thanh toán on-chain thực sự từ người dùng SSP mà không phải tự dựng lại đường ống ví. Hình thức của yêu cầu được giữ nhỏ một cách có chủ ý: ba tham số, trong đó một tham số cố ý là chuỗi.

TL;DR

  • SSP Connect giờ cung cấp hành động pay bên cạnh các luồng định danh hiện có.
  • Một yêu cầu thanh toán nhận đúng ba tham số: chain, addressamount.
  • amount là một chuỗi có chủ đích, nhằm bảo toàn độ chính xác thập phân khi truyền đi.
  • Luồng ký vẫn chạy đầu cuối trên hai thiết bị của người dùng; dApp không bao giờ thấy khóa.
  • Các nhà tích hợp nên định dạng amount bằng BigNumber.toFixed() (hoặc tương đương) trước khi gửi.

SSP Connect là gì

SSP Connect là cây cầu giữa người dùng SSP Wallet và thế giới bên ngoài. Đó chính là giao thức phiên nhẹ được giới thiệu cùng với đợt ra mắt SSP Wallet, trong đó bản thân ví là một multisig 2-trên-2 thực sự, chia giữa một tiện ích trình duyệt và một SSP Key nằm trên điện thoại. Trước phiên bản này, Connect chủ yếu được dùng cho các yêu cầu chỉ đọc: ghép cặp một phiên, chia sẻ một địa chỉ, xác minh rằng một người dùng nhất định kiểm soát một tài khoản nhất định. Điểm then chốt: bí mật không bao giờ rời khỏi hai thiết bị của người dùng; Connect chỉ vận chuyển ý định và phản hồi giữa chúng và phía tin cậy.

Hành động pay làm gì

Phương thức pay mở rộng Connect từ "hãy nói cho tôi biết bạn là ai" sang "hãy để tôi xin bạn một khoản thanh toán". Một dApp dựng một yêu cầu pay, trao cho Connect, và người dùng được nhắc trong giao diện ví của mình để duyệt, sửa hay từ chối yêu cầu. Nếu người dùng duyệt, luồng ký multisig chạy như mọi khi — tiện ích chuẩn bị, điện thoại đồng ký — và giao dịch kết quả được phát đi. dApp nhận một xác nhận sạch sẽ hoặc một sự từ chối sạch sẽ, và không bao giờ chạm tới khóa riêng tư.

Ba tham số

chain là một chuỗi đặt tên cho tài sản được SSP hỗ trợ để dùng để thanh toán, ví dụ 'flux'. Tham số này bắt buộc. Giá trị khớp với các định danh tài sản mà SSP đã dùng nội bộ, nên các nhà tích hợp không phải học một sơ đồ đặt tên mới.

address là đích đến của khoản thanh toán — một chuỗi thuần ở định dạng địa chỉ mà chain được chọn yêu cầu. Tham số này cũng bắt buộc. SSP thực hiện việc kiểm tra định dạng và checksum thông thường ở phía nhận trước khi hiển thị yêu cầu cho người dùng.

amount là giá trị cần gửi, biểu diễn theo đơn vị chính của chain đó. Ví dụ, '4.56' nghĩa là 4,56 FLUX, không phải 4,56 đơn vị nhỏ nhất không thể chia. Tham số này bắt buộc và, quan trọng là, được gắn kiểu chuỗi thay vì số.

Vì sao "amount" là chuỗi

Số trong JavaScript là double IEEE-754, đúng là cách biểu diễn sai cho tiền. 0.1 + 0.2 không phải 0.3, và các khoản token 18 chữ số thập phân đơn giản không vừa trong một double mà không bị làm tròn ngầm. Việc ép amount là chuỗi né được toàn bộ lớp lỗi độ chính xác đó tại biên giao thức: điều dApp tính nội bộ — thường bằng một thư viện big-decimal — đến được ví y nguyên. Ghi chú phát hành khuyến nghị định dạng giá trị bằng BigNumber.toFixed() trước khi gửi, đây là cách chuẩn để biểu diễn một big-decimal dưới dạng chuỗi chính xác, không dùng ký hiệu khoa học.

Việc tiếp theo cần làm

Nếu bạn đang duy trì một dApp hay một trang web đã dùng SSP Connect cho định danh, đường nâng cấp rất ngắn: giữ phiên hiện có, thêm một yêu cầu pay ở chỗ mà trước đây bạn sẽ nhắc người dùng sao chép một địa chỉ. Hãy kiểm tra chain so với danh sách tài sản do SSP hỗ trợ mà bạn thực sự muốn chấp nhận, kiểm tra address phía máy khách để người dùng thấy lỗi trước khi tới ví, và luôn định dạng amount qua toFixed() (hoặc tương đương) của thư viện big-decimal của bạn, sao cho chuỗi gửi đi đúng bằng giá trị bạn đã tính. Ví xử lý phần còn lại — xác nhận, ký, phát sóng — mà không bao giờ phơi khóa cho origin của bạn.

Source: Ghi chú phát hành SSP Wallet v1.1.0.

Chia sẻ bài viết này

Bài viết liên quan