|
| 1 | + |
| 2 | +## Getting Started |
| 3 | + |
| 4 | +Simplicity is a cross-platform cryptocurrency wallet application that provides secure and intuitive management of your digital assets. This guide will walk you through the setup process and core functionality. |
| 5 | + |
| 6 | +### Installation |
| 7 | + |
| 8 | +#### Prerequisites |
| 9 | + |
| 10 | +Before installing Simplicity, ensure you have: |
| 11 | + |
| 12 | +- [Flutter](https://flutter.dev/docs/get-started/install) (latest stable version) |
| 13 | +- Platform-specific development tools: |
| 14 | + - Android: Android Studio and Android SDK |
| 15 | + - iOS: Xcode and CocoaPods |
| 16 | + - Desktop: Windows, macOS, or Linux development tools |
| 17 | + |
| 18 | +#### Installation Steps |
| 19 | + |
| 20 | +1. Clone the repository: |
| 21 | + ```bash |
| 22 | + git clone https://github.com/yourusername/simplicity.git |
| 23 | + cd simplicity |
| 24 | + ``` |
| 25 | + |
| 26 | +2. Install dependencies: |
| 27 | + ```bash |
| 28 | + flutter pub get |
| 29 | + ``` |
| 30 | + |
| 31 | +3. Run the app: |
| 32 | + ```bash |
| 33 | + flutter run |
| 34 | + ``` |
| 35 | + |
| 36 | +## First Launch & Onboarding |
| 37 | + |
| 38 | +1. When you first launch Simplicity, you'll be presented with an onboarding screen that introduces key features: |
| 39 | + - Secure wallet management |
| 40 | + - Send & receive functionality |
| 41 | + - QR code integration |
| 42 | + - Balance tracking |
| 43 | + |
| 44 | +2. Follow the onboarding screens by pressing "Next" or skip directly to the setup process by tapping "Skip". |
| 45 | + |
| 46 | +## Creating Your Wallet |
| 47 | + |
| 48 | +### Setting a Password |
| 49 | + |
| 50 | +1. After onboarding, you'll be directed to the password creation screen. |
| 51 | +2. Create a secure password (minimum 6 characters). |
| 52 | +3. Agree to the terms of service by checking the box. |
| 53 | +4. The app securely stores your password using SharedPreferences. |
| 54 | + |
| 55 | +### Wallet Creation |
| 56 | + |
| 57 | +1. Once your password is set, the app will: |
| 58 | + - Show a loading indicator |
| 59 | + - Connect to the wallet service |
| 60 | + - Create a new wallet account using the `WalletClient().createAccount()` method |
| 61 | + - Generate and store your private and public keys |
| 62 | + |
| 63 | +2. Your wallet credentials will be: |
| 64 | + - Stored securely on your device |
| 65 | + - Backed up locally in the accounts.json file |
| 66 | + |
| 67 | +### Backup Your Recovery Phrase |
| 68 | + |
| 69 | +1. The app will convert your private key to a mnemonic phrase using convertToMnemonic(). |
| 70 | +2. **Important**: Write down this recovery phrase and store it in a secure location. It's the only way to recover your wallet if you lose access to your device. |
| 71 | + |
| 72 | +## Using the Wallet |
| 73 | + |
| 74 | +### Security |
| 75 | + |
| 76 | +- Your wallet is protected by the password you created |
| 77 | +- You'll need to enter your password to access the wallet or perform transactions |
| 78 | + |
| 79 | +### Wallet Features |
| 80 | + |
| 81 | +1. **Sending Transactions**: |
| 82 | + - Enter recipient address (or scan QR code) |
| 83 | + - Specify amount |
| 84 | + - The app will sign the transaction with your private key |
| 85 | + - The `sendTransaction` function handles submission to the blockchain |
| 86 | + |
| 87 | +2. **Receiving Cryptocurrency**: |
| 88 | + - Share your public address |
| 89 | + - Others can send you funds directly to this address |
| 90 | + |
| 91 | +3. **Settings**: |
| 92 | + - Access settings to customize security, language, and notification preferences |
| 93 | + - Get help and support information |
| 94 | + |
| 95 | +4. **Mining** (if available): |
| 96 | + - The app includes functionality for mining rewards through the ProcessCubit |
| 97 | + - Mining rewards are automatically added to your balance |
| 98 | + |
| 99 | +## Advanced Features |
| 100 | + |
| 101 | +### Node Management |
| 102 | + |
| 103 | +- The app automatically connects to available blockchain nodes |
| 104 | +- Nodes are managed through the `updateKnownNodes()` function |
| 105 | +- If connection issues occur, the app will rotate through available nodes |
| 106 | + |
| 107 | +### Cloudflared Integration |
| 108 | + |
| 109 | +- For certain functions, the app can utilize Cloudflared |
| 110 | +- Installation instructions are provided if needed |
| 111 | + |
| 112 | +## Platform-Specific Considerations |
| 113 | + |
| 114 | +### Mobile (Android/iOS) |
| 115 | +- Native platform integration for enhanced security |
| 116 | +- QR code scanning using device camera |
| 117 | + |
| 118 | +### Desktop (Windows/macOS/Linux) |
| 119 | +- Expanded interface for larger screens |
| 120 | +- Local file storage for improved backup options |
| 121 | + |
| 122 | +## Troubleshooting |
| 123 | + |
| 124 | +If you encounter issues: |
| 125 | +1. Check your internet connection |
| 126 | +2. Verify your password is entered correctly |
| 127 | +3. Ensure you have the latest version of the app |
| 128 | +4. For persistent issues, access the Help & Support section in Settings |
| 129 | + |
| 130 | +Remember to always keep your password and recovery phrase secure, as they provide access to your cryptocurrency assets. |
0 commit comments