neptune-web-wallet/README.md

119 lines
1.9 KiB
Markdown
Raw Normal View History

2025-11-14 01:34:35 +07:00
# Neptune Web Wallet
2025-10-21 01:14:13 +07:00
2025-11-14 01:34:35 +07:00
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:
```sh
npm install
```
## 💻 Development
### Start Electron app in development mode
```sh
npm run start:electron
```
### Start Vite dev server only
```sh
npm run dev
```
### Type-check
2025-10-21 01:14:13 +07:00
```sh
2025-11-14 01:34:35 +07:00
npm run type-check
2025-10-21 01:14:13 +07:00
```
2025-11-14 01:34:35 +07:00
### Lint with ESLint
2025-10-21 01:14:13 +07:00
```sh
2025-11-14 01:34:35 +07:00
npm run lint
2025-10-21 01:14:13 +07:00
```
2025-11-14 01:34:35 +07:00
### Format code with Prettier
2025-10-21 01:14:13 +07:00
```sh
2025-11-14 01:34:35 +07:00
npm run format
2025-10-21 01:14:13 +07:00
```
2025-11-14 01:34:35 +07:00
## 📦 Production Build
### Package the application
2025-10-21 01:14:13 +07:00
```sh
2025-11-14 01:34:35 +07:00
npm run package:electron
2025-10-21 01:14:13 +07:00
```
2025-11-14 01:34:35 +07:00
### Create distributables (installers)
2025-10-21 01:14:13 +07:00
```sh
2025-11-14 01:34:35 +07:00
npm run make:electron
```
The installers will be generated in `out/make/` directory:
- **Windows**: `.exe` installer in `out/make/squirrel.windows/x64/`
- **macOS**: `.zip` in `out/make/zip/darwin/`
- **Linux**: `.deb` and `.rpm` in 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:
```env
# Neptune API URL
VITE_APP_API=
# Network (mainnet or testnet)
VITE_NODE_NETWORK=mainnet
2025-10-21 01:14:13 +07:00
```
2025-11-14 01:34:35 +07:00
## 🛠️ Tech Stack
- **Framework**: Electron + Vue 3 + TypeScript
- **Build Tool**: Vite
- **State Management**: Pinia
## 📝 License
Apache-2.0
## 👥 Authors
Neptune Team
## 🔗 Links
- [Neptune Blockchain](https://neptune.cash)
- [Documentation](#)
- [Report Issues](#)