> ## Documentation Index
> Fetch the complete documentation index at: https://cobo.com/developers/llms.txt
> Use this file to discover all available pages before exploring further.

# 附录

> 服务器端签名人指南的附录部分。

<Tip>
  即刻安装 [Cobo WaaS Skill](/developers/v2_cn/guides/overview/cobo-waas-skill)，在 Claude Code、Cursor 等 AI 开发环境中使用自然语言集成 WaaS API，显著提升开发效率 🚀
</Tip>

## 配置 TSS Node

目前，您可以通过以下两种方法配置 TSS Node ：

* 通过配置文件。
* 通过命令行参数，例如 `./tss-node.sh start --ws-url=ws://ws.example.com/ws`。

建议您使用配置文件来配置 TSS Node。请按照以下步骤操作：

1. 导航到 `configs` 目录。

2. 复制并粘贴文件 `cobo-tss-node-config.yaml.template`。

3. 将复制的文件重命名为 `cobo-tss-node-config.yaml`。目录结构如下所示：

   ```
   cobo-tss-node-generic

   ├── configs

   │ ├── cobo-tss-node-config.yaml

   │ └── cobo-tss-node-config.yaml.template (默认配置文件模板)

   └── tss-node.sh (启动脚本)
   ```

4. 编辑 `cobo-tss-node-config.yaml` 文件：
   1. 使用文本编辑器打开配置文件。
   2. 检查配置文件中的所有配置项。大多数配置项都已设置了合理的默认值，您只需要根据实际需求修改特定的配置项。您可以参考[配置项目](#配置项目)了解关键配置项的含义。
   3. 根据您的环境修改必要的配置项。例如：
      * 将 `env` 设置为 `production` 用于生产环境
      * 配置 `callback` 部分以设置 TSS Node Callback 服务器
      * 根据需要调整日志配置
   4. 保存更改并关闭文件。

### 配置项目

| **配置项目**                      | **描述**                                                                                                                                            |
| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| env                           | 操作环境。可以是 `development` 或 `production`。详情请参阅 [环境](/developers/v2_cn/guides/overview/environments)。                                                            |
| db.path                       | 数据库文件的路径。您绝对不能修改此文件。                                                                                                                              |
| callback                      | TSS Node Callback 服务器的配置。详情请参阅 [配置 TSS Node 设置](/developers/v2_cn/guides/mpc-wallets/server-co-signer/callback-server-configure#configure-tss-node-settings) |
| log.std.enable                | 是否输出终端日志。                                                                                                                                         |
| log.std.level                 | 终端日志的输出级别。可以是 `error`、`warn`、`info` 或 `debug`。                                                                                                    |
| log.file.enable               | 是否保存日志文件。                                                                                                                                         |
| log.file.level                | 日志文件的输出级别。                                                                                                                                        |
| log.file.filename             | 日志文件的路径。                                                                                                                                          |
| log.file.maxsize              | 日志文件的最大大小。                                                                                                                                        |
| log.file.max\_backups         | 每个日志文件的备份数量。                                                                                                                                      |
| metrics.job                   | 全局标签，用于所有指标。默认值为 "tss-node"。                                                                                                                      |
| metrics.instance              | 全局标签，用于标识实例号。默认值为 0。                                                                                                                              |
| metrics.name\_prefix          | 添加到所有指标名称的前缀。                                                                                                                                     |
| metrics.influxdb.server\_addr | InfluxDB 服务器的地址（例如 [http://example.com:8086）。](http://example.com:8086）。)                                                                         |
| metrics.influxdb.database     | InfluxDB 数据库的名称。                                                                                                                                  |
| metrics.influxdb.username     | InfluxDB 认证的用户名。                                                                                                                                  |
| metrics.influxdb.password     | InfluxDB 认证的密码。                                                                                                                                   |

## TSS Node 命令

### init

```
sudo ./tss-node.sh init
```

您可以初始化 TSS Node 并创建数据库文件。如果数据库文件已经存在，执行将失败。更多信息，请参阅 [初始化 TSS Node ](/developers/v2_cn/guides/mpc-wallets/server-co-signer/tss-node-deployment#initialize-the-tss-node)。

### info

```
sudo ./tss-node.sh info
```

您可以查看与 TSS Node 相关的信息，包括 TSS Node  ID 和用于与 TSS Node Callback 服务器通信的 TSS Node Callback 公钥。

输出示例如下。

```
$ sudo ./tss-node.sh info

容器启动：5c3819f6bf9425312ad5fe9561a9d8a4ae7145e05f73b3998a3a8112d7056653

等待几秒钟 ..

INFO[2022-12-14T09:12:11Z] 节点 ID：coboXNCDGc4eWaWYTbbgH3Q5jmNNRpZzVatRXyanYeC2XjkJb

INFO[2022-12-14T09:12:11Z] 回调公钥：

-----BEGIN PUBLIC KEY-----

MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz13MMDtCMdmBci/f7boS

……

gQIDAQAB

-----END PUBLIC KEY-----

5c3819f6bf9425312ad5fe9561a9d8a4ae7145e05f73b3998a3a8112d7056653
```

### info group

```
sudo ./tss-node.sh info group [group_id]
```

您可以使用 `info group` 命令查询对应的私钥分片持有者组的信息。

| **项目**  | **值**                                   | **描述**                      |
| ------- | --------------------------------------- | --------------------------- |
| 组 ID    | vnJShriEOIzBLaOUxUDs                    | 私钥分片持有者组的唯一标识符。             |
| 创建时间    | 2023-01-11 14:36:42.179778596 +0000 UTC | 私钥分片持有者组的创建时间。              |
| 根扩展公钥   | xpub661MyMwAq……Mcet8                    | 与当前组下的私钥分片对应的根扩展公钥。         |
| 链码      | 0x098a……9dd9                            | 与根扩展公钥对应的链码，十六进制格式。         |
| 共享 ID   | 121637……483926                          | 私钥分片的 ID，十进制格式。             |
| 共享公钥    | 0x0231adf……d2773                        | 与私钥分片对应的公钥。默认值：十六进制格式的压缩公钥。 |
| 类型      | 1                                       | 类型：1 表示 ECDSA，2 表示 EdDSA。   |
| 曲线      | secp256k1                               | 支持的签名算法。                    |
| 阈值      | 2                                       | 每次交易签名所需的最少私钥分片数量。          |
| 本地节点 ID | coboA1B2C3D4                            | 本地存储的 TSS Node 的节点 ID。      |
| 其他节点 ID | \[coboA1B2C3D4, coboA2B3C4D5]           | 由其他方管理的 TSS Node 的节点 ID。    |
| 参与者：    | 3                                       | 私钥分片、节点 ID 和私钥分片 ID 的总数。    |

### start

```
sudo ./tss-node.sh start
```

cobo-tss-node 将开始运行。

### version

```
sudo ./tss-node.sh version
```

您可以使用 `version` 命令查询 TSS Node 的版本。

### status

```
sudo ./tss-node.sh status
```

您可以使用 `status` 命令查询 TSS Node 的状态。示例如下：

```
$ sudo ./tss-node.sh status

检查 Docker 引擎 ... OK，版本：19.03.6

检查容器镜像 ... OK，ID：sha256:4ff66478be3f193293fbaf85ce764734dab14eff002699636d1329a16f1ce57b

=================================================================

最近的日志来自 TSS-node 守护进程容器 cefc3335c10b (运行中)

-----------------------------------------------------------------

INFO[2022-12-14T09:00:37Z] 注册服务失败：无效的 TSS Node ，请先在 Cobo MPC 服务器上初始化 TSS Node 

INFO[2022-12-14T09:00:52Z] 开始注册服务

INFO[2022-12-14T09:00:52Z] 注册服务失败：无效的 TSS Node ，请先在 Cobo MPC 服务器上初始化 TSS Node 

INFO[2022-12-14T09:01:07Z] 开始注册服务

INFO[2022-12-14T09:01:07Z] 注册服务失败：无效的 TSS Node ，请先在 Cobo MPC 服务器上初始化 TSS Node 
```

执行工作流：

* 验证 Docker 引擎的成功安装并确保客户端具有必要的权限。
* 检查 SGX 驱动程序的状态（适用于 SGX 准备就绪版本）。
* 确认容器镜像的存在。
* 检查容器是否存在错误。
* 监视当前正在运行的 TSS Node 容器并显示最新的五条日志。

### log

```
sudo ./tss-node.sh log
```

使用此命令查看当前正在运行的 TSS Node 容器的日志。

### stop

```
sudo ./tss-node.sh stop
```

使用此命令停止当前正在运行的 TSS Node 容器。
