A modern, beautiful web application that generates QR codes for cryptocurrency payments across multiple blockchain networks. Features a stunning animated UI with real-time processing and comprehensive multi-chain support.
- Animated Interface: Beautiful gradient backgrounds with floating particles
- Responsive Design: Works perfectly on desktop, tablet, and mobile
- Interactive Elements: Hover effects, loading animations, and smooth transitions
- Glass Morphism: Modern semi-transparent cards with blur effects
- Real-time Feedback: Loading spinners and progress indicators
- Ethereum: ETH, USDT, USDC
- Polygon: MATIC, USDT, USDC
- Solana: SOL, USDT, USDC
- Bitcoin: BTC
- Cardano: ADA
- Natural Language Processing: Generate QR codes using plain English
- Chain-Specific URI Formats:
- EVM chains (Ethereum, Polygon): EIP-681 format
- Solana: Solana Pay format
- Bitcoin: BIP21 format
- Cardano: Cardano URI format
- Address Validation: Chain-specific validation for all supported networks
- Asynchronous Processing: Job-based system with real-time status updates
- Error Handling: Comprehensive validation and user-friendly error messages
- Node.js 18+
- npm or yarn
-
Clone the repository
git clone https://github.com/obasan12/CRYPTO-QR-CODE.git cd CRYPTO-QR-CODE -
Install dependencies
npm install
-
Configure environment
# Create .env file cp .env.example .envEdit
.envwith your settings:PORT=3010 MAX_CONCURRENT_JOBS=10 JOB_TIMEOUT_MS=30000 NODE_ENV=development
-
Start the application
npm start
-
Access the web interface
http://localhost:3010/view.html
The application provides an intuitive web interface with two main sections:
- Select the blockchain network (Ethereum, Polygon, Solana, Bitcoin, Cardano)
- Choose the token (ETH, USDT, USDC, MATIC, SOL, BTC, ADA)
- Enter the payment amount
- Input the recipient wallet address
- Add an optional payment label
- Click "Generate QR Code"
- Enter a job ID from a previous generation
- Click "View QR Code" to retrieve and display the result
The service provides a RESTful API for programmatic access:
curl -X POST http://localhost:3010/start_job \
-H "Content-Type: application/json" \
-d '{
"input": "Generate a QR code for 100 USDT payment on Ethereum to 0x742d35Cc6634C0532925a3b844Bc454e4438f44e with label \"Consulting\""
}'Response:
{
"job_id": "a9b96606-1220-41b0-b696-db78694fafcd",
"status": "processing"
}curl http://localhost:3010/result/a9b96606-1220-41b0-b696-db78694fafcd
#### **Check Service Availability**
```bash
curl http://localhost:3010/availability
curl http://localhost:3010/status/a9b96606-1220-41b0-b696-db78694fafcd- Modern HTML5/CSS3: Responsive design with animations
- Vanilla JavaScript: No framework dependencies
- Font Awesome Icons: Beautiful iconography
- Node.js: Server-side runtime
- Express.js: Web framework
- Web3.js: Blockchain interaction
- QRCode: QR code generation
- CORS: Cross-origin resource sharing
- Asynchronous Processing: Job-based system for scalability
- Address Validation: Chain-specific validation
- Error Handling: Comprehensive error management
- Configuration: Environment-based settings
cryptoqrcode/
βββ src/
β βββ server.js # Main server file
β βββ service.js # Business logic
β βββ config.js # Configuration
β βββ chains.json # Chain configurations
β βββ view.html # Main web interface
β βββ test.html # API testing interface
β βββ debug.html # Debug interface
βββ package.json # Dependencies
βββ README.md # This file
βββ .env # Environment variables
npm start # Start the server
npm test # Run tests (placeholder)| Variable | Default | Description |
|---|---|---|
PORT |
3010 |
Server port |
MAX_CONCURRENT_JOBS |
10 |
Maximum concurrent jobs |
JOB_TIMEOUT_MS |
30000 |
Job timeout in milliseconds |
NODE_ENV |
development |
Environment mode |
The application includes comprehensive error handling for:
- Invalid Addresses: Chain-specific validation
- Unsupported Tokens: Token availability per chain
- Malformed Input: Natural language parsing errors
- Invalid Amounts: Numeric validation
- Job Failures: Processing error recovery
- Network Issues: Connection error handling
The application is fully responsive and optimized for:
- Desktop: Full feature access
- Tablet: Touch-friendly interface
- Mobile: Optimized layout and interactions
- Input Validation: Comprehensive sanitization
- Address Verification: Chain-specific validation
- Error Sanitization: Safe error messages
- CORS Protection: Controlled cross-origin access
-
Port Already in Use
# The server will automatically try the next available port # Check the console output for the actual port
-
CORS Errors
# Ensure you're accessing the correct port # The server includes CORS headers for local development
-
Job Processing Failures
# Check the browser console for detailed error messages # Verify the input format matches the expected pattern
Access the debug interface at http://localhost:3010/debug.html for detailed API testing and troubleshooting.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the ISC License - see the LICENSE file for details.
- Font Awesome for the beautiful icons
- Web3.js for blockchain integration
- QRCode library for QR code generation
- Express.js for the web framework
If you encounter any issues or have questions:
- Check the troubleshooting section
- Review the API documentation
- Open an issue on GitHub
Made with β€οΈ by EMERICKCIPHER
This project is actively maintained and updated regularly.