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.