Filament Web3 Airdrop Platform
Decentralized Governance & Token Distribution
Designed NestJS backend for campaign lifecycle management and multi-phase governance voting. Adapter pattern with unified ITransaction interface for Ethereum + Hub blockchain. Event-driven WebSocket architecture for real-time transaction state sync across the full campaign lifecycle.
Key Features
- NestJS backend for campaign lifecycle management and multi-phase governance voting
- Adapter pattern with unified ITransaction interface for Ethereum + Hub blockchain
- Event-driven WebSocket architecture for real-time transaction state sync
- Ethers.js integration for on-chain execution and automated token distribution
- Clerk Auth integration for secure user management
- Campaign state machine with multi-phase voting logic
Tech Stack
Backend
Blockchain
Frontend
Challenges & Solutions
Multi-Chain Transaction Handling
Ethereum and custom Hub blockchain have completely different transaction models, APIs, and signing mechanisms — UI needed to work with both without code duplication.
Adapter pattern with unified ITransaction interface — both EthereumTransaction and HubTransaction implement the same interface. Adding new blockchain = one new class, zero backend changes.
Real-Time Transaction State Sync
Transaction status needs to be tracked across the campaign lifecycle (pending, confirmed, failed) with real-time UI updates.
WebSocket-based event-driven architecture — backend emits transaction lifecycle events, frontend subscribes for optimistic UI updates across all components.