2025-11-26 11:39:20 +08:00
|
|
|
|
# 云算力平台卖方客户端
|
|
|
|
|
|
|
|
|
|
|
|
本程序为云算力平台卖方客户端,用于将卖方身份与GPU主机绑定,实现自动挖矿匹配功能。
|
|
|
|
|
|
|
|
|
|
|
|
## 功能特性
|
|
|
|
|
|
|
|
|
|
|
|
1. **身份绑定**:将云算力平台上的卖方身份和GPU主机进行绑定
|
|
|
|
|
|
2. **GPU信息上报**:自动获取并上报主机GPU详细参数(GPU型号、显存容量等)
|
|
|
|
|
|
3. **自动挖矿匹配**:自动匹配买方的挖矿需求,无需手动操作挖矿
|
|
|
|
|
|
|
|
|
|
|
|
## 系统要求
|
|
|
|
|
|
|
|
|
|
|
|
- Go 1.25.4 或更高版本
|
|
|
|
|
|
- Windows 或 Linux 操作系统
|
|
|
|
|
|
- 已配置好挖矿环境(显卡驱动、挖矿软件、执行权限等)
|
|
|
|
|
|
|
|
|
|
|
|
## 编译方法
|
|
|
|
|
|
|
2025-12-01 15:52:58 +08:00
|
|
|
|
在项目根目录下运行(Windows / Linux 通用):
|
2025-11-26 11:39:20 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
2025-12-01 15:52:58 +08:00
|
|
|
|
go build -o bin/client ./cmd
|
2025-11-26 11:39:20 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
2025-12-01 15:52:58 +08:00
|
|
|
|
- Windows 下会生成 `bin/client.exe`
|
|
|
|
|
|
- Linux 下会生成 `bin/client`
|
2025-11-26 11:39:20 +08:00
|
|
|
|
|
|
|
|
|
|
## 使用方法
|
|
|
|
|
|
|
2025-12-01 15:52:58 +08:00
|
|
|
|
1. **身份文件(auth)**:确认 `bin` 目录下存在 `auth` 文件,该文件会在下载客户端时自动生成,请勿删除、修改、移动该文件
|
2025-11-26 11:39:20 +08:00
|
|
|
|
|
2025-12-01 15:52:58 +08:00
|
|
|
|
2. **运行客户端(需管理员/root 权限)**:
|
|
|
|
|
|
- Windows: 以“管理员身份运行”命令行或终端,然后执行:
|
|
|
|
|
|
```bash
|
|
|
|
|
|
./client.exe
|
|
|
|
|
|
```
|
|
|
|
|
|
- Linux: 使用 root 或 sudo 启动:
|
|
|
|
|
|
```bash
|
|
|
|
|
|
sudo ./bin/client
|
|
|
|
|
|
```
|
2025-11-26 11:39:20 +08:00
|
|
|
|
|
|
|
|
|
|
3. 客户端将自动:
|
|
|
|
|
|
- 读取身份信息
|
2025-12-01 15:52:58 +08:00
|
|
|
|
- 进行权限自检(非 root / 非管理员会直接退出并给出提示)
|
|
|
|
|
|
- 获取主机 UUID(作为机器码)和 GPU 信息
|
2025-11-26 11:39:20 +08:00
|
|
|
|
- 连接到云算力平台服务器
|
2025-12-01 15:52:58 +08:00
|
|
|
|
- 进行 TCP 心跳保活和自动重连
|
|
|
|
|
|
- 自动检查远程版本并执行更新(需要配置远程更新服务)
|
2025-11-26 11:39:20 +08:00
|
|
|
|
- 等待并处理挖矿任务
|
|
|
|
|
|
|
|
|
|
|
|
## 重要注意事项
|
|
|
|
|
|
|
|
|
|
|
|
### 启动前准备
|
|
|
|
|
|
|
|
|
|
|
|
1. **挖矿环境配置**:确保客户端执行主机已配置好挖矿环境,包括:
|
|
|
|
|
|
- 显卡驱动已正确安装
|
|
|
|
|
|
- 挖矿软件已安装并配置
|
|
|
|
|
|
- 执行权限已设置
|
|
|
|
|
|
- 可以手动通过挖矿软件进行挖矿
|
|
|
|
|
|
|
|
|
|
|
|
### GPU 操作注意事项
|
|
|
|
|
|
|
|
|
|
|
|
#### 移除 GPU
|
|
|
|
|
|
|
|
|
|
|
|
- 如果要对本机GPU进行移除(拔出GPU)操作,云算力平台会同步移除对应的GPU
|
|
|
|
|
|
- **重要**:如果在相关GPU有租约且没有在平台申请故障处理的情况下直接移除GPU,会导致产生罚没
|
|
|
|
|
|
- **建议**:在有租约的情况下要移除故障GPU,请第一时间前往平台申请故障处理,在平台确认后再进行移除GPU的操作
|
|
|
|
|
|
|
|
|
|
|
|
#### 更换 GPU
|
|
|
|
|
|
|
|
|
|
|
|
- 如果要对本机GPU进行更换(拔出后又新插入GPU)操作,云算力平台会重新读取GPU数据
|
|
|
|
|
|
- 如果更换型号相同,则会按原有配置上架
|
|
|
|
|
|
- 如果更换的型号不同,则需在更换后前往卖家中心手动调整上架配置
|
|
|
|
|
|
- **重要**:如果在相关GPU有租约且没有在平台申请故障处理的情况下直接更换GPU,可能会导致产生罚没
|
|
|
|
|
|
- **建议**:在有租约的情况下要更换故障GPU,请第一时间前往平台申请故障处理,在平台确认后再进行更换GPU的操作
|
|
|
|
|
|
|
2025-12-01 15:52:58 +08:00
|
|
|
|
### 持续挖矿(可选)
|
|
|
|
|
|
|
|
|
|
|
|
- 在 `bin/mining.linux.conf` 或 `bin/mining.windows.conf` 中配置 `[sustain]` 段,可以在**没有租约时自动挖矿**。
|
|
|
|
|
|
- 当有租约任务下发时,客户端会自动停止持续挖矿,执行租约任务;租约结束后会自动恢复持续挖矿。
|
|
|
|
|
|
|
2025-11-26 11:39:20 +08:00
|
|
|
|
## 项目结构
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
cloud-client/
|
|
|
|
|
|
├── bin/ # 编译输出目录
|
2025-12-01 15:52:58 +08:00
|
|
|
|
│ ├── auth # 身份认证文件(需手动创建)
|
|
|
|
|
|
│ ├── mining.linux.conf # Linux 挖矿配置(含持续挖矿配置)
|
|
|
|
|
|
│ └── mining.windows.conf # Windows 挖矿配置(含持续挖矿配置)
|
2025-11-26 11:39:20 +08:00
|
|
|
|
├── cmd/ # 主程序目录
|
|
|
|
|
|
│ ├── main.go # 程序入口
|
|
|
|
|
|
│ ├── windows.bat # Windows 编译脚本
|
|
|
|
|
|
│ └── linux.sh # Linux 编译脚本
|
|
|
|
|
|
├── internal/ # 内部包
|
|
|
|
|
|
│ ├── client.go # 客户端主逻辑
|
|
|
|
|
|
│ ├── msg/ # 消息处理
|
|
|
|
|
|
│ ├── src/ # 系统相关实现
|
2025-12-01 15:52:58 +08:00
|
|
|
|
│ │ ├── linux/ # Linux 系统实现(GPU、挖矿进程管理、权限检测等)
|
|
|
|
|
|
│ │ └── windows/ # Windows 系统实现(GPU、挖矿进程管理、权限检测等)
|
|
|
|
|
|
│ ├── sustain/ # 持续挖矿管理
|
|
|
|
|
|
│ ├── updater/ # 自动更新模块
|
|
|
|
|
|
│ └── utils/ # 工具函数(文件读写、UUID 等)
|
2025-11-26 11:39:20 +08:00
|
|
|
|
├── go.mod # Go 模块定义
|
|
|
|
|
|
└── README.md # 本文件
|
2025-12-01 15:52:58 +08:00
|
|
|
|
```
|