name: manage-bap-backup description: 当用户要求导出BAP身份、导入BAP备份、查看BAP备份、管理BAP备份、备份BAP身份,或需要使用bap CLI处理BAP身份备份文件时,应使用此技能。
管理BAP备份
使用bsv-bap库导出和导入BAP身份备份。
安装
bun add bsv-bap @bsv/sdk
导出身份
import { BAP } from "bsv-bap";
// 加载现有身份
const bap = new BAP({ rootPk: storedWif });
bap.importIds(encryptedIds);
// 导出用于备份
const backup = bap.exportForBackup("我的身份");
// {
// ids: "QklFMQ...",
// createdAt: "2026-01-17T02:45:04.015Z",
// rootPk: "L1SJx4SfhuGkZHwjgYatQfe2yn8iqHpenvHxsDt9Vnsz7wMT8FqG"
// }
// 保存到文件
import { writeFileSync } from "node:fs";
writeFileSync("backup.json", JSON.stringify(backup, null, 2));
导入身份
import { BAP } from "bsv-bap";
import { readFileSync } from "node:fs";
// 加载备份
const backup = JSON.parse(readFileSync("backup.json", "utf-8"));
// 从备份创建BAP
const bap = new BAP({ rootPk: backup.rootPk });
if (backup.ids) {
bap.importIds(backup.ids);
}
// 访问身份
const idKeys = bap.listIds();
const identity = bap.getId(idKeys[0]);
console.log(identity.idName, identity.getIdentityKey());
列出身份
// 列出所有身份密钥
const idKeys = bap.listIds();
for (const key of idKeys) {
const identity = bap.getId(key);
console.log(`${identity.idName}: ${key}`);
console.log(` 根地址: ${identity.rootAddress}`);
console.log(` 当前地址: ${identity.getCurrentAddress()}`);
}
加密备份 (.bep)
对于使用AES-256-GCM的加密备份文件,使用bitcoin-backup CLI:
bun add -g bitcoin-backup
# 加密备份
bbackup enc backup.json -p "密码" -o identity.bep
# 解密备份
bbackup dec identity.bep -p "密码" -o decrypted.json
查看 encrypt-decrypt-backup 技能以获取完整的bitcoin-backup参考。
CLI选项
对于快速操作,使用bap CLI:
npm install -g bsv-bap
bap export # 导出身份JSON到标准输出
bap export > backup.json
bap import backup.json # 从文件导入
bap info # 查看当前身份
相关技能
create-bap-identity- 创建新的BAP身份encrypt-decrypt-backup- bitcoin-backup CLI用于.bep文件key-derivation- Type42和BRC-43密钥派生
相关
BAP身份可用于与Sigma Identity的OAuth认证。查看@sigma-auth/better-auth-plugin以获取集成模式。