calculate-mining-difficulty

📁 b-open-io/bsv-skills 📅 5 days ago
1
总安装量
1
周安装量
#45949
全站排名
安装命令
npx skills add https://github.com/b-open-io/bsv-skills --skill calculate-mining-difficulty

Agent 安装分布

replit 1
opencode 1
cursor 1
claude-code 1
antigravity 1
gemini-cli 1

Skill 文档

Calculate Mining Difficulty

Calculate and analyze BSV mining difficulty from targets, bits, and network data.

When to Use

  • Get current network difficulty from WhatsOnChain
  • Convert between target and difficulty
  • Decode compact bits representation
  • Understand expected hash calculations for mining

Usage

# Get current network difficulty
bun run skills/calculate-mining-difficulty/scripts/difficulty.ts --current

# Calculate from compact bits (e.g., genesis block)
bun run skills/calculate-mining-difficulty/scripts/difficulty.ts --bits 0x1d00ffff

# Calculate from target hex (64 characters)
bun run skills/calculate-mining-difficulty/scripts/difficulty.ts --target 00000000ffff0000000000000000000000000000000000000000000000000000

# JSON output for scripting
bun run skills/calculate-mining-difficulty/scripts/difficulty.ts --bits 0x1d00ffff --json

# Show help
bun run skills/calculate-mining-difficulty/scripts/difficulty.ts --help

Output

Default output:

Mining Difficulty Analysis
==========================
Difficulty: 1
Target: 0x00000000ffff0000000000000000000000000000000000000000000000000000
Bits: 0x1d00ffff
Expected hashes: 4.29e+9

JSON output (–json):

{
  "difficulty": 1,
  "target": "00000000ffff0000000000000000000000000000000000000000000000000000",
  "bits": "1d00ffff",
  "expectedHashes": "4.29e+9"
}

Difficulty Math

The script uses the standard Bitcoin difficulty formula:

  • Max target: 0x00000000FFFF0000000000000000000000000000000000000000000000000000 (difficulty 1)
  • Difficulty: max_target / current_target
  • Compact bits format: First byte = exponent, next 3 bytes = mantissa
    • target = mantissa * 2^(8*(exponent-3))
  • Expected hashes: difficulty * 2^32

API Integration

Uses WhatsOnChain API for current network data:

  • Chain info endpoint: GET https://api.whatsonchain.com/v1/bsv/main/chain/info

Status

Complete – All functionality implemented and tested.