docs: Update documentation for staking features
- Comprehensive README update with staking guide and setup instructions - Add CHANGELOG.md documenting major DeFi staking release - Update package.json description and keywords for staking capabilities - Include troubleshooting section and development guidelines
This commit is contained in:
81
CHANGELOG.md
Normal file
81
CHANGELOG.md
Normal file
@@ -0,0 +1,81 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to PaperclipWallet will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [1.0.0] - 2024-06-17
|
||||
|
||||
### Added - Major DeFi Staking Release 🚀
|
||||
|
||||
#### **Comprehensive Staking System**
|
||||
- **Validator Delegation** - Stake CLIPS tokens to active validators and earn rewards
|
||||
- **Real-time Staking Dashboard** - Live overview of staking positions, rewards, and network statistics
|
||||
- **Multi-validator Support** - Delegate to multiple validators simultaneously
|
||||
- **Reward Management** - One-click claiming of accumulated staking rewards
|
||||
- **Validator Creation** - Full interface for becoming a validator (10,000 CLIPS minimum)
|
||||
|
||||
#### **Advanced Staking Features**
|
||||
- **APY Calculations** - Real-time Annual Percentage Yield based on validator performance
|
||||
- **Commission Tracking** - View validator commission rates and adjusted returns
|
||||
- **Staking Statistics** - Network-wide staking data and participation rates
|
||||
- **Auto-refresh Data** - Automatic updates every 30 seconds for live information
|
||||
- **Transaction Validation** - Comprehensive validation for all staking operations
|
||||
|
||||
#### **Professional UI/UX**
|
||||
- **Staking Navigation Tab** - Dedicated staking section in main navigation
|
||||
- **Interactive Validator List** - Sortable table with delegation actions
|
||||
- **Modal Dialog System** - Professional forms for delegation, undelegation, and validator creation
|
||||
- **Responsive Design** - Mobile-friendly interface that works on all screen sizes
|
||||
- **Custom Staking Themes** - Beautiful gradient designs and professional styling
|
||||
|
||||
#### **Backend Integration**
|
||||
- **Enhanced RPC Client** - New staking-specific RPC methods for blockchain communication
|
||||
- **Validator Queries** - Fetch active validators, staking info, and reward data
|
||||
- **Transaction Support** - Handle delegate, undelegate, claim, and validator creation transactions
|
||||
- **IPC Handlers** - Secure communication between frontend and blockchain node
|
||||
|
||||
#### **Security & Validation**
|
||||
- **Input Validation** - Comprehensive validation for all staking parameters
|
||||
- **Minimum Requirements** - Enforce minimum staking amounts and validator requirements
|
||||
- **Error Handling** - Detailed error messages and user feedback
|
||||
- **Transaction Signing** - Secure transaction signing with wallet private keys
|
||||
|
||||
### Changed
|
||||
- **Updated Branding** - Complete rebrand from Etho Protocol to PaperclipChain
|
||||
- **Enhanced Navigation** - Added staking tab to main navigation menu
|
||||
- **Improved RPC Client** - Extended paperclip-rpc.js with staking functionality
|
||||
- **Updated Documentation** - Comprehensive README with staking guide and setup instructions
|
||||
|
||||
### Technical Details
|
||||
- **New Files Added**:
|
||||
- `renderer/staking.js` - Complete staking interface logic
|
||||
- `assets/templates/staking.html` - Professional staking UI template
|
||||
- `assets/styles/staking.css` - Custom staking interface styling
|
||||
- **Enhanced Files**:
|
||||
- `modules/paperclip-rpc.js` - Added 5 new staking RPC methods
|
||||
- `index.html` - Integrated staking navigation and CSS
|
||||
- `renderer/maingui.js` - Added staking navigation handler
|
||||
- **Package Updates**:
|
||||
- Updated description to include DeFi staking capabilities
|
||||
- Added staking-related keywords for discoverability
|
||||
|
||||
### Dependencies
|
||||
- All existing dependencies maintained
|
||||
- No new external dependencies required
|
||||
- Compatible with Node.js 14+ and Electron 11.5.0
|
||||
|
||||
---
|
||||
|
||||
## Previous Versions
|
||||
|
||||
### [0.9.x] - Pre-Staking Releases
|
||||
- Basic wallet functionality
|
||||
- Transaction management
|
||||
- Address book features
|
||||
- Initial PaperclipChain integration
|
||||
|
||||
---
|
||||
|
||||
**Note**: This changelog focuses on the major staking release. For detailed technical changes, see the git commit history.
|
||||
190
README.md
190
README.md
@@ -1,35 +1,189 @@
|
||||
# Etho Protocol Desktop Wallet
|
||||
# PaperclipWallet - Desktop Wallet for PaperclipChain
|
||||
|
||||
**Clone and run to see it in action.**
|
||||
**A modern, feature-rich desktop wallet for PaperclipChain with comprehensive DeFi staking capabilities.**
|
||||
|
||||
This is a desktop wallet for the [Etho Protocol](https://ethoprotocol.com/) project.
|
||||
PaperclipWallet is the official desktop wallet for PaperclipChain, providing secure wallet management, transaction handling, and advanced staking features for earning rewards through validator delegation.
|
||||
|
||||
## To Use
|
||||
## Features
|
||||
|
||||
To clone and run this repository you'll need [Git](https://git-scm.com) and [Node.js](https://nodejs.org/en/download/) (which comes with [npm](http://npmjs.com)) installed on your computer. From your command line:
|
||||
### 🏦 **Core Wallet Functions**
|
||||
- **Secure Wallet Management** - Create, import, and manage multiple CLIPS wallets
|
||||
- **Transaction History** - View detailed transaction history and status
|
||||
- **Address Book** - Manage frequently used addresses
|
||||
- **Balance Tracking** - Real-time CLIPS balance updates
|
||||
- **Send/Receive** - Simple and secure CLIPS transfers
|
||||
|
||||
### 🚀 **Advanced DeFi Staking**
|
||||
- **Validator Delegation** - Stake CLIPS to active validators and earn rewards
|
||||
- **Reward Claiming** - One-click claiming of accumulated staking rewards
|
||||
- **Validator Creation** - Become a validator with minimum 10,000 CLIPS stake
|
||||
- **Real-time Statistics** - Live network staking data and APY calculations
|
||||
- **Multi-validator Support** - Delegate to multiple validators simultaneously
|
||||
|
||||
### 📊 **Professional Interface**
|
||||
- **Modern Dashboard** - Clean, intuitive interface with real-time data
|
||||
- **Responsive Design** - Works seamlessly on all screen sizes
|
||||
- **Theme Support** - Professional dark and light themes
|
||||
- **Data Visualization** - Charts and graphs for staking performance
|
||||
|
||||
## Installation & Setup
|
||||
|
||||
### Prerequisites
|
||||
- [Git](https://git-scm.com)
|
||||
- [Node.js](https://nodejs.org/en/download/) (v14 or higher)
|
||||
- [Yarn](https://yarnpkg.com/) or npm
|
||||
- Running PaperclipChain node (for blockchain connectivity)
|
||||
|
||||
### Quick Start
|
||||
|
||||
```bash
|
||||
# Clone this repository
|
||||
git clone https://github.com/Ether1Project/Ether1DesktopWallet.git
|
||||
# Go into the repository
|
||||
cd Ether1DesktopWallet
|
||||
git clone https://git.takoyaki.cool/matt/paperclip-wallet.git
|
||||
cd paperclip-wallet
|
||||
|
||||
# Install dependencies
|
||||
yarn install
|
||||
# Run the app
|
||||
yarn run start
|
||||
|
||||
# Start the wallet
|
||||
yarn start
|
||||
```
|
||||
|
||||
Note: If you're using Linux Bash for Windows, [see this guide](https://www.howtogeek.com/261575/how-to-run-graphical-linux-desktop-applications-from-windows-10s-bash-shell/) or use `node` from the command prompt.
|
||||
### Building for Distribution
|
||||
|
||||
## Resources for Learning Electron
|
||||
```bash
|
||||
# Build for your platform
|
||||
yarn run dist-linux # Linux
|
||||
yarn run dist-win # Windows
|
||||
yarn run dist-osx # macOS
|
||||
|
||||
- [electronjs.org/docs](https://electronjs.org/docs) - all of Electron's documentation
|
||||
- [electronjs.org/community#boilerplates](https://electronjs.org/community#boilerplates) - sample starter apps created by the community
|
||||
- [electron/electron-quick-start](https://github.com/electron/electron-quick-start) - a very basic starter Electron app
|
||||
- [electron/simple-samples](https://github.com/electron/simple-samples) - small applications with ideas for taking them further
|
||||
- [electron/electron-api-demos](https://github.com/electron/electron-api-demos) - an Electron app that teaches you how to use Electron
|
||||
- [hokein/electron-sample-apps](https://github.com/hokein/electron-sample-apps) - small demo apps for the various Electron APIs
|
||||
# Build for all platforms
|
||||
yarn run pack-win && yarn run pack-linux && yarn run pack-osx
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
### Node Connection
|
||||
By default, the wallet connects to `localhost:26657` (PaperclipChain RPC). To connect to a different node:
|
||||
|
||||
1. Open wallet settings
|
||||
2. Update the RPC URL to your PaperclipChain node
|
||||
3. Restart the wallet
|
||||
|
||||
### Network Requirements
|
||||
- **Mainnet**: Connect to a synced PaperclipChain mainnet node
|
||||
- **Testnet**: Use testnet node for development and testing
|
||||
- **Local**: Run a local PaperclipChain node for development
|
||||
|
||||
## Staking Guide
|
||||
|
||||
### How to Stake CLIPS
|
||||
|
||||
1. **Select Validators**
|
||||
- Navigate to the "Staking" tab
|
||||
- Browse active validators
|
||||
- Compare commission rates and APY
|
||||
|
||||
2. **Delegate Tokens**
|
||||
- Click "Delegate" on your chosen validator
|
||||
- Enter the amount to stake (minimum 100 CLIPS)
|
||||
- Confirm the transaction
|
||||
|
||||
3. **Earn Rewards**
|
||||
- Rewards accumulate automatically
|
||||
- Claim rewards anytime via "Claim Rewards" button
|
||||
- Rewards are distributed based on validator performance
|
||||
|
||||
### Becoming a Validator
|
||||
|
||||
1. **Minimum Requirements**
|
||||
- 10,000 CLIPS minimum stake
|
||||
- Running PaperclipChain validator node
|
||||
- Stable internet connection
|
||||
|
||||
2. **Setup Process**
|
||||
- Click "Become Validator" in staking tab
|
||||
- Set your commission rate (0-50%)
|
||||
- Provide initial stake
|
||||
- Submit validator creation transaction
|
||||
|
||||
## Security
|
||||
|
||||
### Best Practices
|
||||
- **Backup Wallets** - Always backup your wallet files and private keys
|
||||
- **Secure Storage** - Store backups in multiple secure locations
|
||||
- **Regular Updates** - Keep the wallet updated to the latest version
|
||||
- **Network Security** - Only connect to trusted PaperclipChain nodes
|
||||
|
||||
### Private Key Management
|
||||
- Private keys are stored locally and encrypted
|
||||
- Never share your private keys or wallet files
|
||||
- Use strong passwords for wallet encryption
|
||||
|
||||
## Development
|
||||
|
||||
### Project Structure
|
||||
```
|
||||
paperclip-wallet/
|
||||
├── main.js # Electron main process
|
||||
├── index.html # Main application window
|
||||
├── renderer/ # Frontend logic
|
||||
│ ├── staking.js # Staking interface
|
||||
│ ├── wallets.js # Wallet management
|
||||
│ └── ...
|
||||
├── modules/ # Backend modules
|
||||
│ ├── paperclip-rpc.js # Blockchain RPC client
|
||||
│ ├── clips-crypto.js # Cryptographic functions
|
||||
│ └── ...
|
||||
└── assets/ # UI assets and templates
|
||||
├── templates/ # HTML templates
|
||||
├── styles/ # CSS styling
|
||||
└── images/ # Icons and graphics
|
||||
```
|
||||
|
||||
### Technology Stack
|
||||
- **Frontend**: Electron, jQuery, Handlebars
|
||||
- **Backend**: Node.js, Ed25519 cryptography
|
||||
- **Blockchain**: PaperclipChain RPC integration
|
||||
- **Styling**: Custom CSS with Material Design elements
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Common Issues
|
||||
|
||||
**Wallet won't connect to node**
|
||||
- Verify PaperclipChain node is running and synced
|
||||
- Check RPC URL in settings (default: `localhost:26657`)
|
||||
- Ensure firewall allows connections
|
||||
|
||||
**Staking transactions fail**
|
||||
- Verify sufficient CLIPS balance for transaction + gas fees
|
||||
- Check validator is active and accepting delegations
|
||||
- Ensure wallet is unlocked and private key is accessible
|
||||
|
||||
**Balance not updating**
|
||||
- Refresh the wallet interface
|
||||
- Verify node is fully synced
|
||||
- Check transaction was properly broadcast
|
||||
|
||||
### Support
|
||||
For technical support and bug reports, please visit:
|
||||
- **Repository**: https://git.takoyaki.cool/matt/paperclip-wallet
|
||||
- **Issues**: Create a new issue with detailed information
|
||||
- **Documentation**: Check PaperclipChain main repository
|
||||
|
||||
## Contributing
|
||||
|
||||
We welcome contributions! Please:
|
||||
1. Fork the repository
|
||||
2. Create a feature branch
|
||||
3. Make your changes
|
||||
4. Test thoroughly
|
||||
5. Submit a pull request
|
||||
|
||||
## License
|
||||
|
||||
[CC0 1.0 (Public Domain)](LICENSE.md)
|
||||
|
||||
---
|
||||
|
||||
**PaperclipWallet** - Secure, Modern, and Feature-Rich Desktop Wallet for PaperclipChain
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "PaperclipWallet",
|
||||
"version": "1.0.0",
|
||||
"description": "Desktop wallet for PaperclipChain ($CLIPS)",
|
||||
"description": "Desktop wallet for PaperclipChain with DeFi staking capabilities",
|
||||
"main": "main.js",
|
||||
"scripts": {
|
||||
"start": "electron .",
|
||||
@@ -51,7 +51,11 @@
|
||||
"PaperclipChain",
|
||||
"CLIPS",
|
||||
"Desktop",
|
||||
"Wallet"
|
||||
"Wallet",
|
||||
"Staking",
|
||||
"DeFi",
|
||||
"Cryptocurrency",
|
||||
"Blockchain"
|
||||
],
|
||||
"author": "Matt <matt@takoyaki.cool>",
|
||||
"url": "https://takoyaki.cool",
|
||||
|
||||
Reference in New Issue
Block a user