# UTXO归集脚本使用说明 本目录包含两个UTXO归集脚本,用于归集多个UTXO币(在nockchain中称为notes)到指定地址。 ## 脚本文件 ### 1. `quick_consolidate.sh` - 快速归集版本 简化版本,自动归集所有notes到指定地址。 #### 主要功能 - 自动扫描所有notes - 一键归集所有notes - 简化的参数配置 - 快速执行 #### 使用方法 ```bash # 归集所有notes到主公钥地址 ./quick_consolidate.sh # 使用自定义手续费 ./quick_consolidate.sh --fee 2 # 归集到指定地址(归集同时转帐) ./quick_consolidate.sh --recipient "33zmSubiizyAVzeSfKbVtLMKifm5u6VaTt9wae5K4CT6h5PLXovecjYwxwDXuzfKVsuefe1wh2VJVHAh4nbA53zBiXKf2Nc3fN3sVmZpmPWneUYGbWcXKzhmN714DVbzaS9U" ``` ## 工作原理 ### 归集流程 1. **获取notes**: 使用 `nockchain-wallet list-notes` 获取所有可用notes 2. **计算参数**: 解析notes信息,计算总余额和手续费 3. **创建交易**: 使用 `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 ``` ## 签名交易 归集完成后会在当前文件夹生成txs目录,目录内有生成的.tx文件。 将交易广播到链上需要运行命令 `nockchain-wallet send-tx txs/xxxxxxxxxxxxxx.tx`