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