A secure Next.js application for burning Solana NFTs with on-chain verification and reliable record-keeping.
- On-chain Verification: All burns are verified on the Solana blockchain
- Transaction Confirmation: Waits for confirmed commitment before recording
- Duplicate Prevention: Prevents double-recording of burns
- Atomic Operations: File-based locking prevents race conditions
- API Security: Protected endpoints with secret validation
- Network Resilience: Retry logic for network failures
- Wallet Verification: Confirms wallet signatures before processing
- Install dependencies:
npm install- Create
.env.localfile:
cp .env.local.example .env.local-
Edit
.env.localand set:NEXT_PUBLIC_SOLANA_NETWORK(devnet or mainnet-beta)BURN_API_SECRET(generate a strong random secret)- Optional:
NEXT_PUBLIC_COLLECTION_ADDRESSto filter specific collection
-
Run development server:
npm run dev- User connects Solana wallet (Phantom, Solflare)
- Application fetches all NFTs owned by the user
- User selects an NFT to burn
- Application sends burn transaction on-chain
- After confirmation, burn is verified and recorded
- User address and NFT metadata are stored securely
- Set
NEXT_PUBLIC_SOLANA_NETWORK=mainnet-beta - Use a secure, random
BURN_API_SECRET - Consider using a private RPC endpoint for reliability
- Back up the
data/directory regularly - Monitor error logs for failed transactions
Burned NFT records are stored in data/burnt-nfts.json:
- User wallet address
- NFT mint address
- NFT name and image
- Burn transaction signature
- Timestamp
MIT