diff --git a/README.md b/README.md index 35d8eb7..b8e3f10 100644 --- a/README.md +++ b/README.md @@ -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 - -## 许可证 - -[根据实际情况填写] - +``` \ No newline at end of file