This project demonstrates a simple digital signature implementation using the Ethereum ECDSA (Elliptic Curve Digital Signature Algorithm) for secure transactions.
- 🔒 Secure private key encryption using AES-256
- ✅ Wallet creation with automatic key encryption
- 💫 Transaction signing with encrypted keys
- 🛡️ Robust error handling and validation
- Private keys are never stored in plain text
- AES-256 encryption for key storage
- Signature verification for all transactions
- Proper error handling for security-related operations
- Node.js and npm installed
- Environment variables set up (see below)
Create a .env file in the server directory:
ENCRYPTION_KEY=your-32-character-encryption-key- Clone the repository
- Install dependencies:
cd server
npm install- Set up your environment variables
- Run the tests:
npx ts-node src/scripts/tests/wallet.test.ts
npx ts-node src/scripts/tests/wallet-edge-cases.test.ts- Keep your ENCRYPTION_KEY secure and never commit it to version control
- Private keys are encrypted at rest
- All transactions require valid signatures