关于 sbtc
sbtc 是通过命令行操作 Stacks L2 上 sBTC 的技能,适用于需要查询余额、转账或在 BTC 与 sBTC 之间存入资产的用户。它还提供挂钩信息和存款状态查询;转账与存款需要解锁钱包。
主要功能
- 01查询 sBTC 余额与挂钩信息
- 02向 Stacks 地址转账 sBTC
- 03获取 BTC 存款说明与地址
- 04构建并广播 BTC 存款交易
- 05通过交易 ID 查询存款状态
适用场景
- 01检查指定 Stacks 地址的 sBTC 余额
- 02向另一地址发送指定数量的 sBTC
- 03从 BTC 存入以获得 sBTC
- 04跟踪 BTC 存款的处理状态
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ aibtcdev/ skills --skill sbtc安装后在 Claude Code 中输入/sbtc确认已加载。
附带文件AGENT.mdsbtc.ts
详细介绍
sBTC 技能
提供 sBTC(Stacks L2 上的封装比特币)操作。sBTC 使用 8 位小数,与 Bitcoin 相同。转账和存款操作需要已解锁的钱包(先使用 bun run wallet/wallet.ts unlock)。余额和信息查询无需钱包。
用法
bun run sbtc/sbtc.ts <subcommand> [options]
子命令
get-balance
获取 Stacks 地址的 sBTC 余额。
bun run sbtc/sbtc.ts get-balance [--address <addr>]
选项:
--address(可选)——要查询的 Stacks 地址(如未提供,则使用当前钱包)
输出:
{
"address": "SP2...",
"network": "mainnet",
"balance": {
"sats": "100000",
"btc": "0.001 sBTC"
}
}
transfer
向收款方转账 sBTC。需要已解锁的钱包。
sBTC 使用 8 位小数。--amount 请以聪为单位指定(1 sBTC = 100,000,000 聪)。
bun run sbtc/sbtc.ts transfer --recipient <addr> --amount <sats> [--memo <text>] [--fee low|medium|high|<microStx>] [--sponsored]
选项:
--recipient(必需)——要转入的 Stacks 地址--amount(必需)——金额,单位为聪(例如,"100000" 表示 0.001 sBTC)--memo(可选)——要附带的备注消息--fee(可选)——费用预设值(low|medium|high)或 micro-STX 金额;如未提供,则自动估算--sponsored(标记)——如果可用,则使用费用赞助
输出:
{
"success": true,
"txid": "abc123...",
"from": "SP2...",
"recipient": "SP3...",
"amount": "0 sBTC",
"amountSats": "100000",
"network": "mainnet",
"explorerUrl": "https://explorer.hiro.so/txid/abc123...?chain=mainnet"
}
get-deposit-info
获取存入 BTC 以接收 sBTC 的相关信息。如果已解锁的钱包含有 Taproot 密钥,则返回个性化的存款地址;否则返回通用说明。
bun run sbtc/sbtc.ts get-deposit-info
输出(钱包已解锁):
{
"network": "mainnet",
"depositAddress": "bc1p...",
"maxSignerFee": "80000 satoshis",
"reclaimLockTime": "950 blocks",
"stacksAddress": "SP2...",
"instructions": [...]
}
输出(无钱包):
{
"network": "mainnet",
"depositAddress": "bc1p...",
"minDeposit": "...",
"maxDeposit": "...",
"instructions": [...]
}
get-peg-info
获取 sBTC 锚定信息,包括总供应量和锚定比例。
bun run sbtc/sbtc.ts get-peg-info
输出:
{
"network": "mainnet",
"totalSupply": {
"sats": "1000000000",
"btc": "10 sBTC"
},
"pegRatio": "1.000000"
}
deposit
存入 BTC,以在 Stacks L2 上接收 sBTC。构建、签名并广播 Bitcoin 交易至 sBTC 存款地址。Bitcoin 交易确认后,sBTC 代币将铸造至你的 Stacks 地址。需要已解锁且含有 Bitcoin 和 Taproot 密钥的钱包。
默认情况下仅使用普通 UTXO(可安全花费,不含铭文)。
bun run sbtc/sbtc.ts deposit --amount <sats> [--fee-rate fast|medium|slow|<number>] [--max-signer-fee <sats>] [--reclaim-lock-time <blocks>] [--include-ordinals]
选项:
--amount(必需)——存款金额,单位为聪(1 BTC = 100,000,000 聪)--fee-rate(可选)——fast(约 10 分钟)、medium(约 30 分钟)、slow(约 1 小时),或以 sat/vB 为单位的数字(默认值:medium)--max-signer-fee(可选)——sBTC 系统可收取的最高费用,单位为聪(默认值:80000)--reclaim-lock-time(可选)——存款失败时,可进行赎回前等待的区块数(默认值:950)--include-ordinals(标记)——包含序数 UTXO(警告:可能会损毁有价值的铭文!)
输出:
{
"success": true,
"txid": "btcTxid123...",
"explorerUrl": "https://mempool.space/tx/btcTxid123...",
"deposit": {
"amount": "0.001 BTC",
"amountSats": 100000,
"recipient": "SP2...",
"bitcoinAddress": "bc1q...",
"taprootAddress": "bc1p...",
"maxSignerFee": "80000 sats",
"reclaimLockTime": "950 blocks",
"feeRate": "5 sat/vB"
},
"network": "mainnet",
"note": "sBTC tokens will be minted to your Stacks address after Bitcoin transaction confirms."
}
deposit-status
通过 Emily API 查询 sBTC 存款交易的状态。
bun run sbtc/sbtc.ts deposit-status --txid <btcTxid> [--vout <index>]
选项:
--txid(必需)——存款的 Bitcoin 交易 ID--vout(可选)——存款的输出索引(默认值:0)
输出:
{
"txid": "btcTxid123...",
"vout": 0,
"status": "pending",
"explorerUrl": "https://mempool.space/tx/btcTxid123...",
"network": "mainnet"
}
注意事项
- 余额和信息查询使用 Hiro API(无需身份验证)
- 转账和存款操作需要已解锁的钱包
- sBTC 使用 8 位小数,与 Bitcoin 聪相同
deposit命令使用 Bitcoin L1——请确保钱包的 Bitcoin 地址中有 BTC- 存入后,Bitcoin 交易确认后,sBTC 代币将显示在你的 Stacks 地址中
评论
支持 Markdown