Neptune Web Wallet
A secure Electron-based desktop wallet for the Neptune blockchain network.
🚀 Features
- 🔐 Secure keystore encryption (AES-256-GCM)
- 💼 Create and recover wallets from seed phrases
- 💸 Send and receive Neptune tokens
- 📊 View transaction history and UTXOs
- 🛡️ Enhanced security with strict Content Security Policy
📋 Prerequisites
- Node.js >= 16
- npm or yarn
🔧 Installation
Install dependencies:
npm install
💻 Development
Start Electron app in development mode
npm run start:electron
Start Vite dev server only
npm run dev
Type-check
npm run type-check
Lint with ESLint
npm run lint
Format code with Prettier
npm run format
📦 Production Build
Package the application
npm run package:electron
Create distributables (installers)
npm run make:electron
The installers will be generated in out/make/ directory:
- Windows:
.exeinstaller inout/make/squirrel.windows/x64/ - macOS:
.zipinout/make/zip/darwin/ - Linux:
.deband.rpmin respective directories
🔐 Security Features
- ✅ Context isolation enabled
- ✅ Node integration disabled
- ✅ Sandbox enabled
- ✅ Strict Content Security Policy in production
- ✅ Certificate validation
- ✅ Path traversal protection
- ✅ Input validation for all IPC handlers
- ✅ Secure keystore encryption with scrypt and AES-256-GCM
🌍 Environment Variables
Create a .env file in the root directory:
# Neptune API URL
VITE_APP_API=
# Network (mainnet or testnet)
VITE_NODE_NETWORK=mainnet
🛠️ Tech Stack
- Framework: Electron + Vue 3 + TypeScript
- Build Tool: Vite
- State Management: Pinia
📝 License
Apache-2.0
👥 Authors
Neptune Team
🔗 Links
Languages
Vue
52.2%
TypeScript
26.9%
JavaScript
17.1%
SCSS
3.7%
HTML
0.1%