Browse Source

更新 'README.md'

maxmind 2 months ago
parent
commit
dee8184ca9
1 changed files with 127 additions and 1 deletions
  1. 127 1
      README.md

+ 127 - 1
README.md

@@ -1,2 +1,128 @@
-# nockchain-coin-tool
+# UTXO归集脚本使用说明
 
+本目录包含两个UTXO归集脚本,用于归集多个UTXO币(在nockchain中称为notes)到指定地址。
+
+## 脚本文件
+
+### 1. `consolidate_utxos.sh` - 完整功能版本
+
+功能最全面的归集脚本,支持精确控制要归集的notes。
+
+#### 主要功能
+- 扫描并更新本地UTXO余额
+- 列出所有可用的notes
+- 支持指定要归集的notes
+- 自动计算余额和手续费
+- 详细的错误处理和参数验证
+- 彩色输出和进度提示
+
+#### 使用方法
+
+```bash
+# 基本用法 - 归集指定的notes
+./consolidate_utxos.sh --names "note1,note2,note3" --fee 1
+
+# 仅扫描余额
+./consolidate_utxos.sh --scan-only
+
+# 仅列出notes
+./consolidate_utxos.sh --list-only
+
+# 归集到指定地址
+./consolidate_utxos.sh --names "note1,note2" --recipient "33zmSubiizyAVzeSfKbVtLMKifm5u6VaTt9wae5K4CT6h5PLXovecjYwxwDXuzfKVsuefe1wh2VJVHAh4nbA53zBiXKf2Nc3fN3sVmZpmPWneUYGbWcXKzhmN714DVbzaS9U"
+
+# 使用自定义主公钥
+./consolidate_utxos.sh --master-pubkey "YOUR_MASTER_PUBKEY" --names "note1,note2"
+```
+
+#### 参数说明
+- `--master-pubkey PUBKEY`: 主公钥地址
+- `--recipient PUBKEY`: 接收地址(默认使用主公钥)
+- `--fee FEE`: 手续费(单位:nicks,默认1)
+- `--names NAMES`: 要归集的note名称,用逗号分隔
+- `--scan-only`: 仅扫描余额
+- `--list-only`: 仅列出notes
+- `--help`: 显示帮助信息
+
+### 2. `quick_consolidate.sh` - 快速归集版本
+
+简化版本,自动归集所有notes到指定地址。
+
+#### 主要功能
+- 自动扫描所有notes
+- 一键归集所有notes
+- 简化的参数配置
+- 快速执行
+
+#### 使用方法
+
+```bash
+# 归集所有notes到主公钥地址
+./quick_consolidate.sh
+
+# 使用自定义手续费
+./quick_consolidate.sh --fee 2
+
+# 归集到指定地址
+./quick_consolidate.sh --recipient "33zmSubiizyAVzeSfKbVtLMKifm5u6VaTt9wae5K4CT6h5PLXovecjYwxwDXuzfKVsuefe1wh2VJVHAh4nbA53zBiXKf2Nc3fN3sVmZpmPWneUYGbWcXKzhmN714DVbzaS9U"
+
+# 使用自定义主公钥
+./quick_consolidate.sh --master-pubkey "YOUR_MASTER_PUBKEY"
+```
+
+## 工作原理
+
+### 归集流程
+
+1. **扫描余额**: 使用 `nockchain-wallet scan` 更新本地UTXO余额
+2. **获取notes**: 使用 `nockchain-wallet list-notes` 获取所有可用notes
+3. **计算参数**: 解析notes信息,计算总余额和手续费
+4. **创建交易**: 使用 `nockchain-wallet create-tx` 创建归集交易
+
+### 手续费处理
+
+- 手续费从最后一个note中扣除
+- 脚本会验证最后一个note的余额是否足够支付手续费
+- 如果余额不足,脚本会报错并退出
+
+### 余额计算
+
+- 脚本会自动计算所有指定notes的总余额
+- 显示实际归集金额(总余额 - 手续费)
+- 提供详细的余额信息
+
+## 注意事项
+
+1. **备份**: 在执行归集前,建议备份钱包数据
+2. **网络连接**: 确保网络连接正常,能够访问nockchain网络
+3. **余额验证**: 脚本会验证notes是否存在和余额是否足够
+4. **手续费**: 手续费从最后一个note中扣除,确保最后一个note的余额足够支付手续费
+5. **地址格式**: 确保提供的地址格式正确
+6. **Note格式**: Note名称格式为`[prefix suffix]`,脚本会自动处理跨行格式
+
+## 错误处理
+
+脚本包含完善的错误处理机制:
+
+- 参数验证
+- 网络连接检查
+- 余额验证
+- 交易创建验证
+
+如果遇到错误,脚本会显示详细的错误信息并安全退出。
+
+## 示例输出
+
+```
+[INFO] 开始快速归集流程...
+[INFO] 扫描UTXO余额...
+[SUCCESS] UTXO余额扫描完成
+[INFO] 获取notes列表...
+[INFO] Note: [8ksAyMVSFxPSb3HjowGmHhW1rxBRAE3LFfLAWGy4rvxMDCiAvTAPcGS 4D2aAyvdpwDzgD7M6JwBAX4WUMe5pxW4fVt1jVfPMGTxwE9T8raBQ4G], 余额: 454900 nicks
+[INFO] Note: [8ksAyMVSFxPSb3HjowGmHhW1rxBRAE3LFfLAWGy4rvxMDCiAvTAPcGS 8keHXP7RxjB7PTZKQskmjQxBxb8zEFJvX8PcZjatRt9Ver3E8ps9F5N], 余额: 489909 nicks, 扣除手续费后: 489908 nicks
+[INFO] 找到 2 个notes,总余额: 944809 nicks
+[INFO] 创建归集交易...
+[INFO] 归集到地址: 33zmSubiizyAVzeSfKbVtLMKifm5u6VaTt9wae5K4CT6h5PLXovecjYwxwDXuzfKVsuefe1wh2VJVHAh4nbA53zBiXKf2Nc3fN3sVmZpmPWneUYGbWcXKzhmN714DVbzaS9U
+[INFO] 手续费: 1 nicks
+[SUCCESS] 归集完成!归集了 2 个notes,总金额: 944809 nicks
+```