Skip to content

Thiết kế: Solana Integration

Tài liệu này mô tả thiết kế kỹ thuật cho việc tích hợp chuỗi Solana trong bountyhunter-blockchain-p2.

1. Tổng quan kỹ thuật

1.1 Sơ đồ khối

flowchart TD
    subgraph Service["bountyhunter-blockchain-p2"]
        SS["SolanaService"]
        Umi["Metaplex Umi Instance"]
        Anchor["Anchor Program Client"]
        Queue["NFT_REWARD Queue"]
    end

    subgraph Solana["Solana Network"]
        Program["Marketplace/Rental Program"]
        cNFT["Bubblegum (cNFT)"]
        Standard["Token Metadata (NFT)"]
    end

    SS --> Umi
    SS --> Anchor
    Umi --> cNFT & Standard
    Anchor --> Program

2. Xử lý Compressed NFTs (cNFTs)

  • Merkle Tree: Service hỗ trợ việc tạo và quản lý Tree (createTree) để chứa cNFT.
  • Minting: Sử dụng mintToCollectionV1 để mint hàng loạt NFT với chi phí cực thấp.
  • Syncing: Theo dõi và cập nhật trạng thái các Leaf trong Merkle Tree.

3. Account Abstraction & Security

  • Azure Key Vault: Private Key của Admin được lưu trữ tại vault.azure.net.
  • Wallet Abstraction: Service hỗ trợ cả ví người dùng (dựa trên private key được giải mã tạm thời) và ví Admin (persistent keypair).

4. Tối ưu hóa phí ưu tiên (Priority Fees)

Khi mạng Solana bị nghẽn, service tự động tính toán và thêm setComputeUnitPrice instruction vào các transaction quan trọng để đảm bảo tính sẵn sàng.