用途:该技能面向时间锁 BSV(time-locked BSV)场景,可将 satoshi 锁定到指定区块高度,查询锁定状态,并解锁已成熟的锁定。
主要能力:
- listLocks:列出锁定 UTXO,输出含 metadata/tags,每行打印 id。
- getLockData:返回汇总数据(totalLocked / unlockable / nextUnlock,即总锁定、可解锁、下一个解锁高度)。
- lockBsv:锁定 sat 直到指定高度。
- unlockBsv:按 ids 解锁,或解锁全部已成熟锁定。
使用方式(TypeScript):通过 createContext(wallet, { services }) 创建上下文后调用各 action。列表示例: import { listLocks, createContext } from '@1sat/actions' const ctx = createContext(wallet, { services }) const { outputs } = await listLocks.execute(ctx, {}) 锁定示例: await lockBsv.execute(ctx, { requests: [{ satoshis: 10_000, until: 900_000 }] }) 解锁示例: await unlockBsv.execute(ctx, {}) 或 await unlockBsv.execute(ctx, { ids: [id1, id2] }) CLI:locks bsv --sats <n> --until <height>(原为 locks lock --blocks)。
标签含义:until:{height} 表示成熟高度,id:{…} 表示追踪 id。
依赖安装:bun add @1sat/actions @1sat/wallet @bsv/sdk
限制:解锁需要 services 以获取当前区块高度;解锁后的价值返回至 funding,不携带资产标签。