Sem descrição

maxmind 9e4d82da89 更新 'README.md' há 1 mês atrás
.gitignore b605fb1d24 Initial commit há 2 meses atrás
README.md 9e4d82da89 更新 'README.md' há 1 mês atrás
quick_consolidate.sh 6f8cdeb587 更新 'quick_consolidate.sh' há 1 mês atrás

README.md

UTXO归集脚本使用说明

本目录包含两个UTXO归集脚本,用于归集多个UTXO币(在nockchain中称为notes)到指定地址。

脚本文件

1. quick_consolidate.sh - 快速归集版本

简化版本,自动归集所有notes到指定地址。

主要功能

  • 自动扫描所有notes
  • 一键归集所有notes
  • 简化的参数配置
  • 快速执行

使用方法

# 归集所有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