From 97a11985e7176cfa9d392a39608755b798e146fc Mon Sep 17 00:00:00 2001 From: matt Date: Tue, 17 Jun 2025 14:42:54 -0700 Subject: [PATCH] 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 --- CHANGELOG.md | 81 ++++++++++++++++++++++ README.md | 190 ++++++++++++++++++++++++++++++++++++++++++++++----- package.json | 8 ++- 3 files changed, 259 insertions(+), 20 deletions(-) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..4d71fc9 --- /dev/null +++ b/CHANGELOG.md @@ -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. \ No newline at end of file diff --git a/README.md b/README.md index 35ed92b..a621045 100755 --- a/README.md +++ b/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 diff --git a/package.json b/package.json index c31d226..1cdc2a3 100755 --- a/package.json +++ b/package.json @@ -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 ", "url": "https://takoyaki.cool",