bountyhunter-blockchain-p2 - Tech Stack
bountyhunter-blockchain-p2 là một NestJS service đóng vai trò là lớp trung gian (Abstraction Layer) để tương tác với các mạng Blockchain khác nhau (Multi-chain). Nó cung cấp các API và worker để quản lý NFT, xử lý giao dịch Marketplace và Rental.
1. Core Framework
- Framework: NestJS (v10) - Sử dụng kiến trúc Module, Controller, Service chuẩn mực.
- Language: TypeScript.
- Database: PostgreSQL (thông qua TypeORM).
- Background Processing: Bull MQ (với Redis) để xử lý các task blockchain bất đồng bộ và retry.
- Task Scheduling: NestJS Schedule cho các cron job đồng bộ dữ liệu on-chain.
2. Blockchain Integrations
2.1 Solana Network
- SDK:
@solana/web3.js. - Metaplex:
@metaplex-foundation/umi: Framework cho Solana.@metaplex-foundation/mpl-bubblegum: Hỗ trợ Compressed NFTs (cNFTs).@metaplex-foundation/mpl-token-metadata: Quản lý metadata của NFT truyền thống.- Anchor:
@project-serum/anchorđể tương tác với các Smart Contract (Programs) tùy chỉnh.
2.2 EVM Networks (Ethereum, BSC, v.v.)
- Library: Ethers.js (v5).
- Account Abstraction (AA): Biconomy SDK (
@biconomy/account) - Cho phép trải nghiệm người dùng không cần gas (Gasless transactions). - Networks: Hỗ trợ đa dạng các chuỗi tương thích EVM.
2.3 Immutable (L2)
- SDK:
@imtbl/sdk- Tích hợp với hệ sinh thái Immutable zkEVM để tối ưu hóa việc giao dịch NFT game.
3. Infrastructure & Security
- Azure Key Vault:
@azure/keyvault-secretsvà@azure/identityđể lưu trữ và quản lý Private Keys một cách bảo mật. - Caching/Queue: Redis (ioredis).
- API Clients: Axios kết hợp với Axios-retry để giao tiếp với các node RPC và backend khác.
- Documentation: Swagger (
@nestjs/swagger) cho API Reference.
4. Utilities
- Bignumber.js: Xử lý các phép toán số lớn (wei/lamports).
- Argon2: Mã hóa dữ liệu nếu cần.
- Crypto-js: Các hàm băm và mã hóa bổ trợ.
- Bs58: Encoding/Decoding định dạng địa chỉ ví Solana.