Feature: EVM & Biconomy Integration (Account Abstraction)
bountyhunter-blockchain-p2 hỗ trợ các mạng tương thích EVM (BNB Chain, Polygon, v.v.) và tích hợp Biconomy để cung cấp trải nghiệm Account Abstraction (AA).
1. Account Abstraction (AA) với Biconomy
- Smart Accounts: Service cho phép tạo Smart Account cho người dùng. Thay vì sử dụng địa chỉ ví EOA truyền thống, người dùng tương tác thông qua một Smart Contract Account.
- Bundler & Paymaster:
- Bundler: Gom nhóm các User Operations để đưa lên chuỗi.
- Paymaster: Cho phép thực hiện các giao dịch Gasless (người dùng không cần sở hữu token native như BNB/MATIC để trả phí gas). Phí gas sẽ được hệ thống trả thay hoặc trả bằng token khác (BTH).
2. Các chức năng chính
2.1 Gasless Transactions
- Gasless NFT Transfer: Hỗ trợ gửi NFT (ERC721/1155) mà người dùng không tốn phí gas trên các network được hỗ trợ (
GASLESS_SUPPORTED_NETWORK). - Gasless Token Transfer: Hỗ trợ chuyển token BTH (ERC20) không tốn gas.
2.2 Quản lý Token BTH (ERC20)
- Transfer: Hỗ trợ chuyển token giữa các ví (User to User, Admin to User).
- Balance Check: Kiểm tra số dư token BTH và native token của ví trước khi thực hiện giao dịch.
- Gas Estimation: Ước tính phí gas cần thiết cho một giao dịch chuyển token để đảm bảo ví có đủ số dư trả phí (đối với giao dịch không gasless).
2.3 Xử lý hàng đợi (Queue Processing)
Tất cả các giao dịch EVM đều được xử lý bất đồng bộ qua Bull MQ:
- BICONOMY_GASSLESS_NFT: Queue cho các giao dịch NFT qua Biconomy.
- BICONOMY_GASLESS_TOKEN: Queue cho các giao dịch Token qua Biconomy.
- ADMIN_TRANSFER_MONEY: Queue cho các giao dịch chuyển tiền từ ví Admin.
3. Quy trình thực hiện giao dịch
- Tiếp nhận: API nhận yêu cầu và giải mã Private Key từ Key Vault.
- Kiểm tra: Kiểm tra số dư và trạng thái network.
- Queue: Đẩy dữ liệu giao dịch vào Redis Queue.
- Worker: Biconomy Processor lấy job từ queue, khởi tạo
SmartAccountClientvà gửiUserOperation. - Sync: Cập nhật kết quả (Transaction Hash) về Backend qua webhook.