Thiết kế: EVM & Biconomy Integration
Tài liệu này mô tả thiết kế của lớp trừu tượng EVM và tích hợp Account Abstraction (AA) qua Biconomy.
1. Kiến trúc Account Abstraction
flowchart LR
User["User (Signer)"] --> Nest["Blockchain Service"]
Nest --> Biconomy["Biconomy SDK"]
Biconomy --> Paymaster["Paymaster\n(Gas Sponsor)"]
Biconomy --> Bundler["Bundler\n(UserOp Relay)"]
Bundler --> Chain["EVM Chain"]
2. Các thành phần logic
- SmartAccountClient: Được tạo từ Private Key (giải mã từ Key Vault) kết hợp với
bundlerUrlvàpaymasterApiKey. - Erc1155Util / Erc721Util / Erc20Util: Các lớp tiện ích sử dụng Ethers.js để thực hiện các giao dịch chuẩn on-chain khi không dùng AA.
- Gasless Worker:
BiconomyProcessorlắng nghe các job từ redis và thực hiện gọi Biconomy SDK để gửiUserOperation.
3. Quy trình thực hiện Gasless NFT Transfer
- Backend gửi yêu cầu chuyển NFT.
- Blockchain Service lấy private key phù hợp.
- Khởi tạo Smart Account cho User.
- Xây dựng Transaction (Transfer instruction).
- Gửi Transaction qua Biconomy Paymaster để tài trợ phí gas.
- Đồng bộ trạng thái về Backend.