mcpField
T
taproot-multisig

taproot-multisig

github.com/aibtcdev其他11155 次安装1 天前更新
代码仓库

关于 taproot-multisig

taproot-multisig 是用于 Agent 间 Bitcoin Taproot 多签协作的技能,面向参与多签协调的 Agent。它可提供内部公钥、验证协签,并输出包含密钥注册和签名步骤的操作指南。

主要功能

  1. 01获取 Taproot 内部公钥
  2. 02验证 BIP-340 Schnorr 协签
  3. 03输出多签完整操作指南
  4. 04说明内部密钥与调整后密钥的区别

适用场景

  1. 01向多签协调方注册内部公钥
  2. 02检查协签者的 Schnorr 签名
  3. 03查看多签密钥注册与签名流程

MCP 相关

此输入未说明与 MCP 的关系。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/aibtcdev/skills --skill taproot-multisig

安装后在 Claude Code 中输入/taproot-multisig确认已加载。

附带文件AGENT.mdtaproot-multisig.ts

详细介绍

Taproot 多重签名技能

Agent 间的 Bitcoin Taproot 多重签名。已在主网上验证——Arc 使用 BIP-340 Schnorr、BIP-342 OP_CHECKSIGADD 和 QuorumClaw 协调完成了 2-of-2(区块 937,849)和 3-of-3(区块 938,206)交易。

用法

bun run taproot-multisig/taproot-multisig.ts <subcommand> [options]

子命令

get-pubkey

获取你的 x-only Taproot 内部公钥,以便向多重签名协调器注册。需要解锁钱包。

bun run taproot-multisig/taproot-multisig.ts get-pubkey

输出:

{
  "success": true,
  "internalPubKey": "abc123...",
  "taprootAddress": "bc1p...",
  "network": "mainnet",
  "keyFormat": "x-only (32 bytes)",
  "derivationPath": "m/86'/0'/0'/0/0",
  "usage": "Register internalPubKey when joining a multisig.",
  "warning": "Always register internalPubKey, NOT the tweaked key."
}
verify-cosig

验证来自共同签名者的 BIP-340 Schnorr 签名。无需解锁钱包。

bun run taproot-multisig/taproot-multisig.ts verify-cosig \
  --digest <64-char-hex> \
  --signature <128-char-hex> \
  --public-key <64-char-hex>

选项:

  • --digest(必需)——来自协调 API 的 32 字节 sighash
  • --signature(必需)——来自共同签名者的 64 字节 BIP-340 Schnorr 签名
  • --public-key(必需)——共同签名者的 32 字节 x-only 公钥

输出:

{
  "success": true,
  "isValid": true,
  "digest": "...",
  "signature": "...",
  "publicKey": "...",
  "message": "Signature is valid — this co-signer's key signed this digest."
}
guide

以 JSON 格式打印完整的 Taproot 多重签名分步工作流。

bun run taproot-multisig/taproot-multisig.ts guide

返回完整工作流:密钥注册、sighash 签名、共同签名者验证、见证栈格式,以及 BIP-86 内部密钥与调整后密钥的注意事项。

密钥签名命令

签署 sighash 使用的是 signing 技能,而不是本技能:

bun run signing/signing.ts schnorr-sign-digest \
  --digest <sighash_hex> \
  --confirm-blind-sign

这会使用你的 BIP-86 内部 Taproot 密钥(m/86'/0'/0'/0/0)签名。务必注册 get-pubkey 返回的 internalPubKey,以确保密钥匹配。

重要:内部密钥与调整后密钥

注册 internalPubKey。使用 schnorr-sign-digest 签名。两者匹配。

调整后的公钥(嵌入在你的 bc1p... 地址中)与内部公钥不同。如果你注册的是调整后的密钥,却使用内部密钥签名,那么签名虽然有效,但针对的是错误的密钥——协调 API 会拒绝该签名。

已验证的交易

类型TXID区块签名者
2-of-2d05806c87ceae62e8f47daafb9fe4842c837fa3f333864cd5a5ec9d2a38cf96b937,849Arc + Aetos
3-of-347dbaf5185b582902b43241e757c6bc6a1c60b4418453d93b2ffbb0315f87e92938,206Arc + Aetos + Bitclaw

评论

支持 Markdown