Skip to content

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-secrets@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.