Thanh toánĐăng ký

Tổng quan

Chương trình Ủy quyền Đăng ký cho phép các nhà phát triển để người dùng ủy quyền cho các giao dịch chuyển token trong tương lai từ ví của họ với các giới hạn rõ ràng. Nó được thiết kế cho thanh toán định kỳ, đăng ký, thanh toán của người bán, và các luồng khác mà người dùng không cần phải ký cho mỗi giao dịch chuyển một cách thủ công.

Mục đích

Các token account của Solana có thể phê duyệt một quyền khác để di chuyển token, nhưng mỗi token account chỉ có thể có một quyền được phê duyệt tại một thời điểm. Điều đó khiến việc một ví hỗ trợ an toàn nhiều thỏa thuận chi tiêu cho cùng một token trở nên khó khăn, chẳng hạn như đăng ký hàng tháng, hạn mức chi tiêu cố định và thỏa thuận thanh toán của người bán.

Chương trình này giải quyết vấn đề đó bằng cách cung cấp cho mỗi cặp (user, token mint) một Quyền Đăng ký được kiểm soát bởi chương trình. Token account của người dùng phê duyệt quyền đó một lần. Sau đó, chương trình kiểm tra mỗi yêu cầu chuyển tiền so với một bản ghi riêng biệt xác định ai có thể rút tiền, họ có thể rút bao nhiêu và khi nào ủy quyền hết hạn hoặc đặt lại.

Quyền Đăng ký không thể tự di chuyển tiền. Một giao dịch chuyển chỉ thành công khi nó khớp với một trong các ủy quyền đang hoạt động của người dùng.

ID Chương trình

De1egAFMkMWZSN5rYXRj9CAdheBamobVNubTsi9avR44

ID chương trình được khai báo trong program/src/lib.rs. Quy trình làm việc Surfpool cục bộ cài đặt chương trình tại địa chỉ chuẩn này.

Mô hình Ủy quyền

Chương trình hỗ trợ ba mô hình ủy quyền:

Mô hìnhMục đích
Ủy quyền cố địnhCho phép ví hoặc dịch vụ khác chi tiêu tối đa một số tiền cố định, tùy chọn đến thời điểm hết hạn.
Ủy quyền định kỳCho phép ví hoặc dịch vụ khác chi tiêu tối đa một giới hạn được đặt lại mỗi kỳ, chẳng hạn như hàng ngày, hàng tuần hoặc hàng tháng.
Gói đăng kýCho phép người bán công bố các điều khoản thanh toán mà người dùng có thể chấp nhận, sau đó cho phép các bên thu được phê duyệt tính phí người đăng ký mỗi kỳ thanh toán.

Token Được Hỗ Trợ

Chương trình hỗ trợ các token được tạo bằng cả SPL Token và Token-2022. Phần mở rộng Token-2022 duy nhất bị từ chối là TransferHook đã được cấu hình (khi hook authority hoặc program_id được thiết lập). Một TransferHook không hoạt động (cả hai đều chưa được thiết lập, và do đó vĩnh viễn bất biến) và tất cả các phần mở rộng khác đều được cho phép.

Sự Kiện On-Chain

Chương trình phát ra các sự kiện on-chain để các indexer và ứng dụng có thể theo dõi các hoạt động quan trọng. Những sự kiện này bao gồm các thay đổi về đăng ký và chuyển token được thực hiện thông qua các luồng cố định, định kỳ và gói đăng ký.

Quản Lý Phiên Bản

Các bản ghi thuộc sở hữu của chương trình bao gồm một trường phiên bản. Điều này tạo đường dẫn cho chương trình nâng cấp dữ liệu tài khoản theo thời gian mà không làm gián đoạn người dùng hiện tại. Chiến lược di chuyển hỗ trợ:

  • Cập nhật tại chỗ theo kiểu lazy
  • Lệnh migrate rõ ràng
  • Phương án dự phòng thu hồi và tạo lại

Cộng Tác Viên

Dự án được duy trì bởi các cộng tác viên của kho solana-program/subscriptions.

Trạng Thái Kiểm Toán

Chương trình đã được kiểm toán bởi Cantina. Trạng thái kiểm toán, commit cơ sở, commit đã xác minh sửa lỗi và delta chưa được kiểm toán hiện tại được theo dõi trong thư mục audits/ của kho lưu trữ.

Ứng Dụng Demo

Nếu bạn muốn tự mình thử nghiệm chương trình, bạn có thể xem ứng dụng mẫu tại đây để thấy cách triển khai đầy đủ các khái niệm được đề cập trong phần này.

Is this page helpful?

Mục lục

Chỉnh sửa trang