update README

This commit is contained in:
lzx
2025-12-01 15:52:58 +08:00
parent 1198159832
commit b9aff707bd

View File

@@ -16,39 +16,36 @@
## 编译方法
### Windows 系统
在项目根目录下运行:
在项目根目录下运行Windows / Linux 通用):
```bash
cmd\windows.bat
go build -o bin/client ./cmd
```
编译后的可执行文件将位于 `bin/client.exe`
### Linux 系统
在项目根目录下运行:
```bash
chmod +x cmd/linux.sh
./cmd/linux.sh
```
编译后的可执行文件将位于 `bin/client`
- Windows 下会生成 `bin/client.exe`
- Linux 下会生成 `bin/client`
## 使用方法
1. **准备身份文件** `bin` 目录下创建 `auth` 文件,包含你的卖方身份信息
1. **身份文件(auth)**确认 `bin` 目录下存在 `auth` 文件,该文件会在下载客户端时自动生成,请勿删除、修改、移动该文件
2. **运行客户端**
- Windows: 运行 `bin\client.exe`
- Linux: 运行 `bin/client`
2. **运行客户端(需管理员/root 权限)**
- Windows: 以“管理员身份运行”命令行或终端,然后执行:
```bash
./client.exe
```
- Linux: 使用 root 或 sudo 启动:
```bash
sudo ./bin/client
```
3. 客户端将自动:
- 读取身份信息
- 获取主机MAC地址和GPU信息
- 进行权限自检(非 root / 非管理员会直接退出并给出提示)
- 获取主机 UUID作为机器码和 GPU 信息
- 连接到云算力平台服务器
- 进行 TCP 心跳保活和自动重连
- 自动检查远程版本并执行更新(需要配置远程更新服务)
- 等待并处理挖矿任务
## 重要注意事项
@@ -77,14 +74,19 @@ chmod +x cmd/linux.sh
- **重要**如果在相关GPU有租约且没有在平台申请故障处理的情况下直接更换GPU可能会导致产生罚没
- **建议**在有租约的情况下要更换故障GPU请第一时间前往平台申请故障处理在平台确认后再进行更换GPU的操作
### 持续挖矿(可选)
- 在 `bin/mining.linux.conf` 或 `bin/mining.windows.conf` 中配置 `[sustain]` 段,可以在**没有租约时自动挖矿**。
- 当有租约任务下发时,客户端会自动停止持续挖矿,执行租约任务;租约结束后会自动恢复持续挖矿。
## 项目结构
```
cloud-client/
├── bin/ # 编译输出目录
│ ├── auth # 身份认证文件(需手动创建)
│ ├── mining.linux.conf # Linux 挖矿配置
│ └── mining.windows.conf # Windows 挖矿配置
│ ├── auth # 身份认证文件(需手动创建)
│ ├── mining.linux.conf # Linux 挖矿配置(含持续挖矿配置)
│ └── mining.windows.conf # Windows 挖矿配置(含持续挖矿配置)
├── cmd/ # 主程序目录
│ ├── main.go # 程序入口
│ ├── windows.bat # Windows 编译脚本
@@ -93,19 +95,11 @@ cloud-client/
│ ├── client.go # 客户端主逻辑
│ ├── msg/ # 消息处理
│ ├── src/ # 系统相关实现
│ │ ├── linux/ # Linux 系统实现
│ │ └── windows/ # Windows 系统实现
── utils/ # 工具函数
│ │ ├── linux/ # Linux 系统实现GPU、挖矿进程管理、权限检测等
│ │ └── windows/ # Windows 系统实现GPU、挖矿进程管理、权限检测等
── sustain/ # 持续挖矿管理
│ ├── updater/ # 自动更新模块
│ └── utils/ # 工具函数文件读写、UUID 等)
├── go.mod # Go 模块定义
└── README.md # 本文件
```
## 依赖项
- `github.com/google/uuid` v1.6.0
- `gopkg.in/ini.v1` v1.67.0
## 许可证
[根据实际情况填写]
```