forked from bitcoinafterlife/bal-electrum-plugin
docs(README): Remove PyQt5 references, remove configurations section, add onchain invalidation transaction detail
This commit is contained in:
58
README.md
58
README.md
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user