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
|
```bash
|
||||||
# Clone this repository
|
# Clone this repository
|
||||||
git clone https://github.com/Ether1Project/Ether1DesktopWallet.git
|
git clone https://git.takoyaki.cool/matt/paperclip-wallet.git
|
||||||
# Go into the repository
|
cd paperclip-wallet
|
||||||
cd Ether1DesktopWallet
|
|
||||||
# Install dependencies
|
# Install dependencies
|
||||||
yarn install
|
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
|
# Build for all platforms
|
||||||
- [electronjs.org/community#boilerplates](https://electronjs.org/community#boilerplates) - sample starter apps created by the community
|
yarn run pack-win && yarn run pack-linux && yarn run pack-osx
|
||||||
- [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
|
## Configuration
|
||||||
- [hokein/electron-sample-apps](https://github.com/hokein/electron-sample-apps) - small demo apps for the various Electron APIs
|
|
||||||
|
### 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
|
## License
|
||||||
|
|
||||||
[CC0 1.0 (Public Domain)](LICENSE.md)
|
[CC0 1.0 (Public Domain)](LICENSE.md)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**PaperclipWallet** - Secure, Modern, and Feature-Rich Desktop Wallet for PaperclipChain
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "PaperclipWallet",
|
"name": "PaperclipWallet",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"description": "Desktop wallet for PaperclipChain ($CLIPS)",
|
"description": "Desktop wallet for PaperclipChain with DeFi staking capabilities",
|
||||||
"main": "main.js",
|
"main": "main.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "electron .",
|
"start": "electron .",
|
||||||
@@ -51,7 +51,11 @@
|
|||||||
"PaperclipChain",
|
"PaperclipChain",
|
||||||
"CLIPS",
|
"CLIPS",
|
||||||
"Desktop",
|
"Desktop",
|
||||||
"Wallet"
|
"Wallet",
|
||||||
|
"Staking",
|
||||||
|
"DeFi",
|
||||||
|
"Cryptocurrency",
|
||||||
|
"Blockchain"
|
||||||
],
|
],
|
||||||
"author": "Matt <matt@takoyaki.cool>",
|
"author": "Matt <matt@takoyaki.cool>",
|
||||||
"url": "https://takoyaki.cool",
|
"url": "https://takoyaki.cool",
|
||||||
|
|||||||
Reference in New Issue
Block a user