> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://support.mixin.one/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# 如何用 Bitcoin Core GUI 创建 Safe 金库

### 准备 Bitcoin Core GUI 钱包

* 下载并安装 Bitcoin Core GUI 钱包 https://bitcoincore.org/en/download/ ，或者升级至 25.0 以上的版本。
| 您也可以选择 [用 Bitcoin Core 命令行创建 Safe 金库](/zh/article/bitcoin-core-safe-12drgln/)
* 打开 Bitcoin Core 用户界面

![](https://storage.crisp.chat/users/helpdesk/website/71991a4db339f000/image_77w8vd.png)


### 创建 Safe 金库

1、进入 Safe 后台，新建 Safe 金库

2、输入金库名称选择 Bitcoin 网络

3、钱包选择 Bitcoin Core

![](https://storage.crisp.chat/users/helpdesk/website/71991a4db339f000/image_qail93.png)

选择 Bitcoin Core 来管理 Safe 金库，需要在 Bitcoin Core 钱包里创建两个钱包：

* 私钥钱包，管理密钥（私钥和公钥）
* 脚本钱包，负责多签交易、管理 UTXO

3.1  创建私钥钱包

![](https://storage.crisp.chat/users/helpdesk/website/71991a4db339f000/image_1lpu305.png)

3.2 打开内置的控制台

![](https://storage.crisp.chat/users/helpdesk/website/71991a4db339f000/image_zyzta9.png)

3.3 生成私钥钱包地址

控制台输入 `getnewaddress safe legacy` 生成私钥钱包地址

* 参数 safe：地址标签（label）
* 参数 legacy：必须是 legacy 格式，否则 signmessage 不支持

![](https://storage.crisp.chat/users/helpdesk/website/71991a4db339f000/image_1fzjrjk.png)

3.4 获取 public key

控制台输入 `getaddressinfo 1LAng6tNUobkNmD86KpuHg41j9o1R8ocwS` 获取 public key， `1LAng6tNUobkNmD86KpuHg41j9o1R8ocwS` 是步骤 3.3 生成的钱包地址。

![](https://storage.crisp.chat/users/helpdesk/website/71991a4db339f000/image_5vpg3w.png)

3.5  复制 pubkey 粘贴到 safe 后台并下一步保存：

![](https://storage.crisp.chat/users/helpdesk/website/71991a4db339f000/image_1lgdasu.png)

4、设置资产共管人

添加你信任的家人、朋友或者同事为资产共管人，并设置合理的共管模式。

5、预览并创建金库

6、激活金库

6.1  解码 Safe 金库数据

![](https://storage.crisp.chat/users/helpdesk/website/71991a4db339f000/image_1ps6aeo.png)

从 Safe 后台复制激活页面步骤 1 脚本数据，用 `decodescript` 命令解码数据：

![](https://storage.crisp.chat/users/helpdesk/website/71991a4db339f000/image_11mm2wm.png)

6.2 创建脚本钱包

![](https://storage.crisp.chat/users/helpdesk/website/71991a4db339f000/image_ph7g0v.png)

|| 注意必须勾选 Disable Private Keys 、 Make Blank Wallet 和 Descriptor Wallet

6.3  导入描述符到脚本钱包

控制台切换钱包至 **脚本钱包**，将步骤 6.1 解码出来的数据里 segwit 下的 desc 按格式 `'[{"desc":"xxx","timestamp":"now","internal":false}]’` 拼接为描述符导入脚本钱包：

```bash
importdescriptors '[{"desc":"wsh(thresh(2,pk(03b08eeab9826f10b68569ff9af26ea350675e9d5cf9274c1990cfe5d7cf2b186c),s:pk(0261300cb233f092c6c2f787139624b88ea4c774e779b3a257b36a2fcf186a09a7),sj:and_v(v:pk(026e37ea6e1e9a018753e3289387306d8d605351803497021c1a7cf7e6c0a8dab6),n:older(432))))#p6vc2x03","timestamp":"now","internal":false}]' 
[
  {
    "success": true
  }
]
```

![](https://storage.crisp.chat/users/helpdesk/website/71991a4db339f000/image_g5rgcs.png)


6.4  签名 Safe 金库数据

![](https://storage.crisp.chat/users/helpdesk/website/71991a4db339f000/image_fdhy7g.png)

控制台切换钱包至 **私钥钱包**，按下面格式签名从 Safe 后台复制激活页面步骤 3 数据：

```bash
signmessage 1Gz4GoSjNV8MxLFt8bE8JTfqJp6b2bXhvZ APPROVE:c09c6f5f-4461-46a2-a172-4cd970aab955:bc1qpuecw70lwz5jxway09qtjymw7lm0t36jfdymkqddv6a2m8vgvnwqfnt0pq
IOs73u6gnEy9hIIH6zpEXLtaQncAUYkCk6hV8LQxwdxvQz3jOLbEDXJpo669P6sXQVHHpmnlbDbt22HHdgigeYs=
```

注意 signmessage 第一个参数是私钥钱包的地址。

6.5  激活钱包

复制 6.4 签名后的数据到激活页面步骤 5 输入框，点激活按钮：

![](https://storage.crisp.chat/users/helpdesk/website/71991a4db339f000/image_16rqums.png)

等待约 30 秒钟 Safe 金库激活成功，控制台切换钱包至脚本钱包，你可以通过以下命令检测 Safe 金库的充值地址是否和脚本钱包的地址一致：

```bash
$ getaddressesbylabel ""
{
  "bc1qpuecw70lwz5jxway09qtjymw7lm0t36jfdymkqddv6a2m8vgvnwqfnt0pq": {
    "purpose": "receive"
  }
}
```

![](https://storage.crisp.chat/users/helpdesk/website/71991a4db339f000/image_k39rez.png)

---

Safe 金库创建好后就可以往这个地址里充值 BTC 了。

### 常见问题

* importdescriptors is not available for non-descriptor wallets (code -4)

创建脚本钱包的时候，需要勾选 Descriptor Wallet 。

* Error: Cannot obtain a lock on data directory /User/xxx/Library/Application Support/Bitcoin.Bitcoin Core is probably already running.

可能原因是因为比特币客户端可能在后台运行，尝试在终端输入 `./bitcoin-cli stop` 后再打开 Bitcoin Core GUI 。

* Private key not available (code -4)
可能是因为签名激活金库时忘记切换钱包为私钥钱包。

