docs(README): Remove PyQt5 references, remove configurations section, add onchain invalidation transaction detail

This commit is contained in:
2026-04-09 11:40:29 +00:00
parent 5dc1ca36ab
commit 9c91cc8019

View File

@@ -70,7 +70,7 @@ bal-electrum-plugin/
│ ├── bal.py # Main plugin logic and core functionality │ ├── bal.py # Main plugin logic and core functionality
│ ├── bal_resources.py # Resource management and asset handling │ ├── bal_resources.py # Resource management and asset handling
│ ├── heirs.py # Heir management logic and validation │ ├── heirs.py # Heir management logic and validation
│ ├── qt.py # Main Qt interface and GUI components (PyQt6) │ ├── qt.py # Main Qt interface and GUI components
│ ├── util.py # General utility functions │ ├── util.py # General utility functions
│ ├── wallet_util/ │ ├── wallet_util/
│ │ ├── bal_wallet_utils.py # ⚠️ Advanced wallet utilities for emergency fixes │ │ ├── bal_wallet_utils.py # ⚠️ Advanced wallet utilities for emergency fixes
@@ -141,7 +141,6 @@ bal-electrum-plugin/
- `bal_wallet_utils_qt.py`: Qt-specific wallet utilities - `bal_wallet_utils_qt.py`: Qt-specific wallet utilities
### Main Interface (qt.py) ### Main Interface (qt.py)
- **PyQt6 only**: Uses PyQt6 (not PyQt5)
- **User-friendly wizards**: Step-by-step setup interface - **User-friendly wizards**: Step-by-step setup interface
- **Real-time validation**: Immediate feedback on inputs - **Real-time validation**: Immediate feedback on inputs
- **Transaction preview**: Review before finalizing - **Transaction preview**: Review before finalizing
@@ -198,6 +197,7 @@ Executor: "Bob Executor" (fee: 0.005 BTC fixed)
**Logic**: **Logic**:
- If today > 2025-12-31 → Old will is invalid - If today > 2025-12-31 → Old will is invalid
- If old will is invalid, a non-timelocked transaction is sent onchain to invalidate the old will
- Transaction executes on 2026-06-01 - Transaction executes on 2026-06-01
- Bob receives 0.005 BTC only when transaction confirms - Bob receives 0.005 BTC only when transaction confirms
- Bob is incentivized to broadcast at correct time - Bob is incentivized to broadcast at correct time
@@ -221,47 +221,11 @@ Executor: "Charlie Executor" (fee: 0.02 BTC fixed)
--- ---
## 🔧 Configuration
### Plugin Settings
After installation, configure in Electrum:
1. Go to **Tools → Bal Electrum Plugin → Settings**
2. Configure:
- **Default Locktime**: Set default locktime format (e.g., "365d")
- **CheckAlive Mode**: Choose "interval" or "fixed_date"
- **CheckAlive Value**: Set interval (e.g., "180d") or timestamp
- **Executor Fee**: Set fixed BTC amount (e.g., 0.01)
- **Debug Mode**: Enable for troubleshooting
### Configuration File Location
```
~/.electrum/plugins/bal_electrum_plugin/config.json
```
### Example Configuration
```json
{
"locktime_format": "interval",
"default_locktime": "365d",
"checkalive_mode": "interval",
"checkalive_value": "180d",
"executor_fee": 0.01,
"debug": false
}
```
---
## 🛠️ Development ## 🛠️ Development
### Prerequisites ### Prerequisites
- **Electrum Bitcoin wallet**: Version **4.7.2 or later** (not 4.0.0) - **Electrum Bitcoin wallet**: Version **4.7.2 or later**
- **Python**: 3.7+ - **Python**: 3.7+
- **PyQt6**: Only PyQt6 is supported (not PyQt5)
### Setup Development Environment ### Setup Development Environment
@@ -305,9 +269,7 @@ zip -r bal-electrum-plugin-dev.zip bal_electrum_plugin/
### Running the Plugin ### Running the Plugin
The plugin uses Electrum's existing virtualenv. No additional dependencies needed beyond: The plugin uses Electrum's existing virtualenv. No additional dependencies needed.
- Electrum 4.7.2+
- PyQt6
--- ---
@@ -316,17 +278,12 @@ The plugin uses Electrum's existing virtualenv. No additional dependencies neede
### Common Issues ### Common Issues
#### Plugin Not Showing in Electrum #### Plugin Not Showing in Electrum
- ✅ Verify Electrum version is **4.7.2 or later** (not 4.0.0) - ✅ Verify Electrum version is **4.7.2 or later**
- ✅ Check zip contains `bal_electrum_plugin/` directory at root - ✅ Check zip contains `bal_electrum_plugin/` directory at root
- ✅ Verify directory structure inside zip is correct - ✅ Verify directory structure inside zip is correct
- ✅ Restart Electrum completely after installation - ✅ Restart Electrum completely after installation
- ✅ Check Electrum logs: Help → Debug → Console - ✅ Check Electrum logs: Help → Debug → Console
#### PyQt6 Compatibility Issues
- ✅ Ensure you're using PyQt6, not PyQt5
- ✅ Verify Electrum 4.7.2+ uses PyQt6
- ✅ Check import statements in plugin code
#### Locktime Format Errors #### Locktime Format Errors
- ✅ Use valid formats: `180d`, `1y`, or Unix timestamp (e.g., `1735689600`) - ✅ Use valid formats: `180d`, `1y`, or Unix timestamp (e.g., `1735689600`)
- ✅ Ensure locktime is in the future (after current time) - ✅ Ensure locktime is in the future (after current time)
@@ -338,6 +295,7 @@ The plugin uses Electrum's existing virtualenv. No additional dependencies neede
- ✅ Ensure CheckAlive value is before Locktime value - ✅ Ensure CheckAlive value is before Locktime value
- ✅ For interval mode: Check logic `locktime - interval > now` - ✅ For interval mode: Check logic `locktime - interval > now`
- ✅ For fixed date: Verify timestamp is in the future - ✅ For fixed date: Verify timestamp is in the future
- ✅ If CheckAlive expires, old will is invalidated by sending a non-timelocked transaction onchain
#### Heir Distribution Errors #### Heir Distribution Errors
- ✅ Verify percentages sum to exactly 100% - ✅ Verify percentages sum to exactly 100%
@@ -396,7 +354,7 @@ git checkout -b feature/your-feature-name
# Make changes to bal_electrum_plugin/ files # Make changes to bal_electrum_plugin/ files
# ... # ...
# Test in Electrum 4.7.2+ with PyQt6 # Test in Electrum 4.7.2+
# Commit changes with clear message # Commit changes with clear message
git add . git add .
@@ -431,4 +389,4 @@ MIT License - see [LICENSE](LICENSE) for details.
**💡 Note**: The executor fee is a fixed BTC amount included in the transaction output. The executor is financially incentivized to broadcast the transaction and ensure it confirms on the Bitcoin network. **💡 Note**: The executor fee is a fixed BTC amount included in the transaction output. The executor is financially incentivized to broadcast the transaction and ensure it confirms on the Bitcoin network.
**📋 Requirements**: Electrum 4.7.2+ with PyQt6 only. No pytest or additional dependencies needed. **📋 Requirements**: Electrum 4.7.2+ only. No additional dependencies or configuration sections needed.