DevSol is a comprehensive Solana development toolkit that provides essential tools for wallet generation, token distribution, transactions, and token minting - all in one place.
Note: This project was built during my learning journey with Solana blockchain development to demonstrate integration and modern web development practices.
- 🔑 Generate new Solana wallets with BIP39 mnemonic phrases
- 📥 Import existing wallets using seed phrases
- 👁️ Toggle visibility for sensitive information
- 📋 Copy wallet details to clipboard
- 💰 Check wallet balance on Solana devnet
- 🪣 Request free testnet SOL tokens
- ⚡ Quick airdrop for development testing
- 📊 Display wallet balance after requests
- 🚀 Send SOL tokens securely
- 🎯 Input validation and error handling
- ✅ Transaction confirmation and signatures
- 💡 Helpful tooltips for disabled states
- 🪙 Create custom SPL tokens with initial supply
- ⚙️ Mint tokens to specific accounts
- 🏗️ Single transaction approach for reliability
- � Real-time token account information
- 🌓 Dark/Light mode toggle
- 📱 Fully responsive design
- 🔒 Security-focused with best practices
- 🎨 Modern UI with smooth animations
- React - Frontend framework
- Vite - Build tool and development server
- Tailwind CSS - Styling and responsive design
- @solana/web3.js - Solana blockchain interaction
- @solana/spl-token - SPL token operations
- @solana/wallet-adapter-react - Wallet integration (from anza-xyz/wallet-adapter)
- bip39 - Mnemonic phrase generation and validation
- bs58 - Base58 encoding for Solana addresses
- Buffer - Browser polyfill for Node.js Buffer
- Lucide React - Modern icon library
- Clone the repository:
git clone https://github.com/riteshkrkarn/DevSol.git
cd DevSol
- Install dependencies:
npm install
- Start the development server:
npm run dev
- Open your browser and navigate to
http://localhost:5173
- Generate New Wallet: Leave the input field blank and click "Generate" to create a new wallet
- Import Existing Wallet: Enter your BIP39 mnemonic phrase in the input field and click "Generate"
- View Seed Phrase: Click "Show" to reveal your mnemonic words
- Copy Details: Use the copy buttons to copy seed phrase, public key, or private key
- Check Balance: The balance will be automatically fetched for imported wallets
- Connect Wallet: Click "Connect Wallet" to connect your Solana wallet
- Request Airdrop: Enter the amount of SOL tokens to request (up to 2 SOL)
- Check Balance: View your updated balance after the airdrop
- Connect Wallet: Click "Connect Wallet" to connect your Solana wallet
- Enter Details: Input recipient's public key and amount to send
- Send Transaction: Click "Send SOL" to execute the transaction
- View Confirmation: See transaction signature and success message
- Connect Wallet: Click "Connect Wallet" to connect your Solana wallet
- Set Initial Supply: Enter the initial token supply amount
- Create Token: Click "Create Token" to generate a new SPL token
- Mint to Accounts: After creation, mint additional tokens to specific recipient addresses
- Seed phrases are hidden by default
- Private keys are masked with dots and require manual reveal
- Security warnings and best practices are displayed
- No data is stored or transmitted to external servers
DevSol/
├── src/
│ ├── solVault/
│ │ ├── Vault.jsx # Wallet generation and management
│ │ └── ...
│ ├── solDrop/
│ │ ├── Faucet.jsx # SOL token faucet
│ │ ├── Balance.jsx # Balance display
│ │ └── ...
│ ├── transactionSol/
│ │ ├── TransactionSol.jsx # Main transaction page
│ │ └── sendTokens.jsx # Send SOL functionality
│ ├── mintify/
│ │ ├── Mintify.jsx # Main mintify page
│ │ └── CreateToken.jsx # Token creation and minting
│ ├── components/
│ │ └── SecretPhraseGrid.jsx
│ ├── utils/
│ │ └── wallet.js # Wallet utilities
│ ├── App.jsx # Main application routing
│ ├── Landing.jsx # Landing page
│ ├── index.css # Tailwind CSS imports
│ └── main.jsx # Application entry point
├── README.md
└── package.json
npm run dev
- Start development servernpm run build
- Build for productionnpm run preview
- Preview production buildnpm run lint
- Run ESLint
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
- Always verify transactions on mainnet
- Never share your seed phrase or private keys
- Use at your own risk for actual funds
- Test thoroughly before using with real assets
Ritesh Kumar Karn
- 🐦 Twitter: @riteshkrkarn
- 💼 LinkedIn: riteshkrkarn
- 🐙 GitHub: riteshkrkarn
- 📧 Email: [email protected]
- Logo generated using Google Gemini AI
- Built with React + Vite template
- Icons by Lucide React
This project is open source and available under the MIT License.