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:
2025-06-17 14:42:54 -07:00
parent 2c3ad62bc4
commit 97a11985e7
3 changed files with 259 additions and 20 deletions

81
CHANGELOG.md Normal file
View 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
View File

@@ -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

View File

@@ -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",