name: 计算挖矿难度 description: 当用户询问“计算挖矿难度”、“转换目标到难度”、“分析区块难度”、“BSV难度计算”或需要从区块头计算难度时,应使用此技能。 allowed-tools: “Bash(bun:*)”
计算挖矿难度
从目标、紧凑位和网络数据计算和分析BSV挖矿难度。
何时使用
- 从WhatsOnChain获取当前网络难度
- 在目标和难度之间转换
- 解码紧凑位表示
- 理解挖矿的预期哈希计算
用法
# 获取当前网络难度
bun run skills/calculate-mining-difficulty/scripts/difficulty.ts --current
# 从紧凑位计算(例如,创世区块)
bun run skills/calculate-mining-difficulty/scripts/difficulty.ts --bits 0x1d00ffff
# 从目标十六进制计算(64个字符)
bun run skills/calculate-mining-difficulty/scripts/difficulty.ts --target 00000000ffff0000000000000000000000000000000000000000000000000000
# 用于脚本的JSON输出
bun run skills/calculate-mining-difficulty/scripts/difficulty.ts --bits 0x1d00ffff --json
# 显示帮助
bun run skills/calculate-mining-difficulty/scripts/difficulty.ts --help
输出
默认输出:
挖矿难度分析
==========================
难度:1
目标:0x00000000ffff0000000000000000000000000000000000000000000000000000
紧凑位:0x1d00ffff
预期哈希数:4.29e+9
JSON输出(–json):
{
"difficulty": 1,
"target": "00000000ffff0000000000000000000000000000000000000000000000000000",
"bits": "1d00ffff",
"expectedHashes": "4.29e+9"
}
难度数学
脚本使用标准的比特币难度公式:
- 最大目标:
0x00000000FFFF0000000000000000000000000000000000000000000000000000(难度1) - 难度:
最大目标 / 当前目标 - 紧凑位格式:第一个字节 = 指数,后三个字节 = 尾数
目标 = 尾数 * 2^(8*(指数-3))
- 预期哈希数:
难度 * 2^32
API集成
使用WhatsOnChain API获取当前网络数据:
- 链信息端点:
GET https://api.whatsonchain.com/v1/bsv/main/chain/info
状态
已完成 - 所有功能已实现和测试。