A TypeScript-based implementation for managing Bitcoin Rune token airdrops. This project provides a secure and efficient way to distribute Rune tokens to multiple recipients.
- Batch token distribution
- Merkle tree verification
- Gas optimization
- Multi-wallet support
- Transaction monitoring
- Error handling and retries
- Node.js (v14 or higher)
- Web3 provider (e.g., Infura)
- MetaMask or similar wallet
- TypeScript
- Clone the repository:
git clone https://github.com/cabriola/rune-airdrop.git
cd rune-airdrop
- Install dependencies:
npm install
- Create a
.env
file:
cp .env.example .env
- Update the
.env
file with your configuration:
- Network RPC URL
- Private keys for distribution wallets
- Token contract address
- Compile TypeScript:
npm run build
- Run tests:
npm test
- Start distribution:
npm start
rune-airdrop/
├── src/
│ ├── index.ts # Main entry point
│ ├── airdrop.ts # Airdrop logic
│ ├── merkle.ts # Merkle tree implementation
│ └── utils.ts # Utility functions
├── test/
│ └── airdrop.test.ts # Test cases
└── config/
└── config.ts # Configuration
-
Preparation
- Generate Merkle tree from recipient list
- Verify token balances
- Check gas prices
-
Distribution
- Batch transactions
- Monitor confirmations
- Handle failures
-
Verification
- Track successful transfers
- Generate distribution report
- Verify Merkle proofs
-
Transaction Security
- Gas price monitoring
- Nonce management
- Transaction confirmation checks
-
Data Security
- Encrypted private keys
- Secure configuration
- Access control
-
Transaction Monitoring
- Real-time status updates
- Error tracking
- Gas usage statistics
-
Distribution Analytics
- Success rate tracking
- Cost analysis
- Performance metrics
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- GitHub: @cabriola #