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_resources.py # Resource management and asset handling
│ ├── 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
│ ├── wallet_util/
│ │ ├── 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
### Main Interface (qt.py)
- **PyQt6 only**: Uses PyQt6 (not PyQt5)
- **User-friendly wizards**: Step-by-step setup interface
- **Real-time validation**: Immediate feedback on inputs
- **Transaction preview**: Review before finalizing
@@ -198,6 +197,7 @@ Executor: "Bob Executor" (fee: 0.005 BTC fixed)
**Logic**:
- 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
- Bob receives 0.005 BTC only when transaction confirms
- 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
### 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+
- **PyQt6**: Only PyQt6 is supported (not PyQt5)
### Setup Development Environment
@@ -305,9 +269,7 @@ zip -r bal-electrum-plugin-dev.zip bal_electrum_plugin/
### Running the Plugin
The plugin uses Electrum's existing virtualenv. No additional dependencies needed beyond:
- Electrum 4.7.2+
- PyQt6
The plugin uses Electrum's existing virtualenv. No additional dependencies needed.
---
@@ -316,17 +278,12 @@ The plugin uses Electrum's existing virtualenv. No additional dependencies neede
### Common Issues
#### 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
- ✅ Verify directory structure inside zip is correct
- ✅ Restart Electrum completely after installation
- ✅ 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
- ✅ Use valid formats: `180d`, `1y`, or Unix timestamp (e.g., `1735689600`)
- ✅ 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
- ✅ For interval mode: Check logic `locktime - interval > now`
- ✅ 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
- ✅ Verify percentages sum to exactly 100%
@@ -396,7 +354,7 @@ git checkout -b feature/your-feature-name
# 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
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.
**📋 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.