diff --git a/llmdoc/architecture/build-system.md b/llmdoc/architecture/build-system.md deleted file mode 100644 index fb13f79..0000000 --- a/llmdoc/architecture/build-system.md +++ /dev/null @@ -1,38 +0,0 @@ -# Mond 构建系统架构 - -## 1. 构建环境支持 - -Mond 项目支持多平台构建: -- Ubuntu (amd64/arm64) -- Alpine Linux (amd64/arm64) - -## 2. 关键构建组件 - -### 初始化脚本 (init.sh) -- 负责版本和配置预处理 -- 使用 sed 进行文本替换 -- 处理版本宏定义 - -### Dockerfile -- Alpine Linux: docker/Dockerfile.alpine -- 处理依赖安装 -- 配置构建环境 - -## 3. 依赖管理 - -### Boost 库组件 -必需的 Boost 库组件: -- filesystem -- thread -- date_time -- chrono -- serialization -- program_options -- locale -- system -- regex - -## 4. CMake 构建流程 -- 检查系统兼容性 -- 链接必要库 -- 生成可执行文件 diff --git a/llmdoc/architecture/cicd-pipeline.md b/llmdoc/architecture/cicd-pipeline.md deleted file mode 100644 index 9659da2..0000000 --- a/llmdoc/architecture/cicd-pipeline.md +++ /dev/null @@ -1,41 +0,0 @@ -# Mond CI/CD 流水线架构 - -## 1. 身份标识 - -- **定义:** Gitea Actions 驱动的多架构持续集成与交付系统 -- **目的:** 自动化构建、测试和发布 Mond 项目到多个平台和包管理系统 - -## 2. 核心组件 - -- `.gitea/workflows/ci.yaml` (CIWorkflow): 定义整个 CI/CD 流程 -- `debian/build-deb.sh` (PackageBuilder): 处理 Debian 包构建逻辑 - -## 3. 执行流程(LLM 检索路径) - -### 持续集成流程 -1. **代码推送触发:** 监听 master 分支和 PR 事件 -2. **多架构构建:** - - 目标架构:amd64, arm64 - - 目标发行版:Ubuntu, Alpine -3. **构建步骤:** - - 代码检出 - - 依赖安装 - - 单元测试 - - 二进制编译 - - 包构建 - -### 发布流程 -1. **标签创建:** 手动或自动创建语义化版本标签 -2. **构建制品:** - - 多架构 Debian 包(amd64, arm64) - - 二进制可执行文件 -3. **发布到:** - - Gitea Release(附件形式) - - Generic Package Registry(通用软件包仓库) - - Debian Package Registry(stable 发行版) - -## 4. 设计原理 - -- **可移植性:** 支持多架构和发行版 -- **自动化:** 减少手动干预 -- **一致性:** 标准化构建和发布流程 \ No newline at end of file diff --git a/llmdoc/architecture/packaging.md b/llmdoc/architecture/packaging.md deleted file mode 100644 index 9bfdacb..0000000 --- a/llmdoc/architecture/packaging.md +++ /dev/null @@ -1,59 +0,0 @@ -# Mond 打包系统架构 - -## 1. 身份标识 - -- **定义:** 基于 Debian 打包规范的多平台软件分发系统 -- **目的:** 提供标准化、可靠的软件安装和管理机制 - -## 2. 核心组件 - -- `debian/control.template` (PackageMetadata): 定义包元数据 -- `debian/postinst` (PostInstallScript): 安装后配置脚本 -- `debian/mond.service` (SystemdService): systemd 服务配置 -- `debian/build-deb.sh` (BuildScript): 构建 Debian 包的脚本 - -## 3. 打包系统设计 - -### Debian 包结构 -- **元数据:** 版本、依赖、描述 -- **文件布局:** - - 二进制文件:`/opt/mond/mond` - - 配置文件:`/var/lib/mond/params.conf`(首次安装时自动创建) - - 数据目录:`/var/lib/mond/data/` - - 日志目录:`/var/log/mond/` - - systemd 服务:`/lib/systemd/system/mond.service` - -### 安装后脚本逻辑 -1. 创建必要的系统用户和组(`mond:mond`) -2. 创建日志目录和数据目录(包括 `/var/lib/mond/data` 子目录) -3. **生成默认配置文件**(如果不存在) - - 位置:`/var/lib/mond/params.conf` - - 包含所有默认运行参数 - - 使用 INI 格式 - - 设置正确的权限(640, mond:mond) -4. 设置文件和目录权限 -5. 重载 systemd 配置 -6. 显示安装后说明(包括配置文件位置和使用指引) - -**重要特性:** 配置文件只在首次安装时创建,升级时不会覆盖用户修改。 - -### systemd 集成 -- 支持标准服务管理命令 -- 使用配置文件方式启动(`--config-file=/var/lib/mond/params.conf --non-interactive`) -- 配置服务依赖和启动行为 -- 提供日志和状态监控 -- 安全沙箱设置(NoNewPrivileges, ProtectSystem, ProtectHome) -- 允许写入配置目录、数据目录和日志目录(ReadWritePaths) -- 自动重启策略(Restart=always) - -**配置管理优势:** -- 用户修改配置文件后,`apt upgrade` 不会覆盖 -- systemd 服务文件可以安全更新,不影响用户配置 -- 配置集中管理,易于维护 -- 数据与配置分离,便于管理 - -## 4. 设计原理 - -- **标准合规:** 遵循 Debian 打包最佳实践 -- **可配置性:** 灵活的服务和安装配置 -- **可靠性:** 通过 systemd 提供健壮的服务管理 \ No newline at end of file diff --git a/llmdoc/architecture/system-design.md b/llmdoc/architecture/system-design.md deleted file mode 100644 index 4f155b8..0000000 --- a/llmdoc/architecture/system-design.md +++ /dev/null @@ -1,29 +0,0 @@ -# Mond 架构设计 - -## 1. 组件概览 - -- 主守护进程二进制文件 -- 项目初始化和定制脚本 -- 多架构构建配置 - -## 2. 核心文件类型 - -- 源代码文件 -- 构建脚本 -- Docker 构建配置 -- CMake 配置文件 - -## 3. 构建流程 - -1. **源代码准备**:克隆 Monero 源代码 -2. **定制应用**:替换 Monero 特定标识符 -3. **依赖构建**:使用 Monero 的 depends 系统 -4. **编译**:使用 CMake 和 Make 构建 -5. **打包**:生成多架构二进制和 Debian 包 - -## 4. 关键设计决策 - -- 使用纯静态链接以提高可移植性 -- 支持多架构(AMD64、ARM64) -- 保留原始 Monero 核心功能 -- 简化安装和配置过程 diff --git a/llmdoc/guides/how-to-build.md b/llmdoc/guides/how-to-build.md deleted file mode 100644 index b3ec4dd..0000000 --- a/llmdoc/guides/how-to-build.md +++ /dev/null @@ -1,27 +0,0 @@ -# 如何构建 Mond 项目 - -## 支持的平台 -- Ubuntu (amd64/arm64) -- Alpine Linux (amd64/arm64) - -## 构建步骤 - -1. **准备环境** - - 安装必要的依赖:Boost、CMake、编译工具链 - -2. **克隆仓库** - - -3. **运行初始化脚本** - Project successfully modified from Monero to Mond! -Binary output name: mond -Project name: mond - -4. **编译项目** - - -## 常见问题排查 - -- 确保所有 Boost 组件已正确安装 -- 检查 CMake 版本兼容性 -- 验证编译器支持情况 diff --git a/llmdoc/guides/how-to-install.md b/llmdoc/guides/how-to-install.md deleted file mode 100644 index 6547497..0000000 --- a/llmdoc/guides/how-to-install.md +++ /dev/null @@ -1,43 +0,0 @@ -# Mond 安装指南 - -## 支持的平台 - -Mond 支持以下平台和安装方式: -- Debian stable -- Ubuntu 最新 LTS 版本 -- 通用 Linux 二进制包(支持 AMD64 和 ARM64) - -## 方式一:Debian/Ubuntu 安装(推荐) - -```bash -# 1. 下载并添加 GPG 密钥 -sudo curl https://gitea.bcde.io/api/packages/wangdefa/debian/repository.key \ - -o /etc/apt/keyrings/gitea-wangdefa.asc - -# 2. 添加软件源 -echo "deb [signed-by=/etc/apt/keyrings/gitea-wangdefa.asc] https://gitea.bcde.io/api/packages/wangdefa/debian stable main" | \ - sudo tee -a /etc/apt/sources.list.d/wangdefa.list - -# 3. 安装 -sudo apt-get update -sudo apt-get install mond -``` - -## 方式二:通用二进制包安装 - -```bash -# 1. 下载对应架构的包(替换 VERSION 为实际版本号) -wget https://gitea.bcde.io/releases/download/VERSION/mond-amd64-ubuntu-VERSION.tar.gz - -# 2. 解压 -tar -xzf mond-amd64-ubuntu-VERSION.tar.gz - -# 3. 运行 -./mond --help -``` - -## 依赖项 - -Mond 没有复杂的外部依赖。Debian 包管理器将自动处理必要的系统依赖。对于二进制包,请确保: -- 使用 Linux 64位系统(AMD64 或 ARM64) -- 具有基础 Linux 运行时环境 \ No newline at end of file diff --git a/llmdoc/guides/how-to-release.md b/llmdoc/guides/how-to-release.md deleted file mode 100644 index 8143583..0000000 --- a/llmdoc/guides/how-to-release.md +++ /dev/null @@ -1,64 +0,0 @@ -# 如何发布 Mond 项目 - -## 1. 准备工作 - -### 前提条件 -- 已配置 Gitea 仓库 -- 具备仓库管理员权限 -- 已安装必要的构建工具 - -## 2. 创建 Release - -### 方法一:GitHub/Gitea Web 界面 -1. 导航到仓库 Releases 页面 -2. 点击 "New Release" -3. 选择目标分支 -4. 输入语义化版本标签(例如 `v1.2.3`) -5. 填写发布说明 - -### 方法二:命令行 -```bash -git tag -a v1.2.3 -m "Release version 1.2.3" -git push origin v1.2.3 -``` - -## 3. 配置 Gitea Secrets - -### 必需的 Secrets -- `REGISTRY_USERNAME`: 包仓库用户名 -- `REGISTRY_PASSWORD`: 包仓库认证令牌 -- `GPG_PRIVATE_KEY`: 用于签名的 GPG 私钥 -- `GPG_PASSPHRASE`: GPG 私钥密码 - -### 设置步骤 -1. 进入仓库设置 -2. 选择 "Secrets" -3. 添加每个必需的 Secret - -## 4. 包管理仓库上传 - -### 自动上传 -CI 流水线将自动上传到以下位置: -- **Generic Package Registry**:通用软件包仓库 -- **Debian Package Registry**:stable 发行版 - -触发条件:新的版本标签推送 - -### 上传目标 -所有 Debian 包统一上传到: -- 发行版:stable -- 组件:main -- 路径:`debian/pool/stable/main` - -## 5. 发布后验证 - -1. 检查 GitHub/Gitea Releases -2. 验证包管理仓库的可用性 -3. 测试不同平台的安装 -4. 确认 systemd 服务正常运行 - -## 注意事项 - -- 遵循语义化版本(Semantic Versioning) -- 每次发布前运行完整的测试套件 -- 更新 CHANGELOG.md \ No newline at end of file diff --git a/llmdoc/guides/how-to-use.md b/llmdoc/guides/how-to-use.md deleted file mode 100644 index d69787f..0000000 --- a/llmdoc/guides/how-to-use.md +++ /dev/null @@ -1,55 +0,0 @@ -# Mond 使用指南 - -## 基本命令和选项 - -### 直接运行 - -```bash -# 基本运行 -./mond - -# 指定数据目录 -./mond --data-dir=/path/to/data - -# 指定日志文件 -./mond --log-file=/path/to/log - -# 后台运行 -./mond --detach -``` - -## Systemd 服务管理 - -### 服务操作 - -```bash -# 启用并启动服务 -sudo systemctl enable mond.service -sudo systemctl start mond.service - -# 查看服务状态 -sudo systemctl status mond.service - -# 查看实时日志 -sudo journalctl -u mond -f - -# 停止服务 -sudo systemctl stop mond.service - -# 禁用服务 -sudo systemctl disable mond.service -``` - -## 配置和日志位置 - -### Debian/Ubuntu 系统包 - -- **二进制文件**: `/opt/mond/mond` -- **数据目录**: `/var/lib/mond/` -- **日志目录**: `/var/log/mond/` - -### 通用二进制包 - -- **二进制文件**: 当前目录下的 `mond` -- **数据目录**: 默认为当前用户主目录下的 `.mond` -- **日志目录**: 由 `--log-file` 参数指定,默认为控制台输出 \ No newline at end of file diff --git a/llmdoc/index.md b/llmdoc/index.md deleted file mode 100644 index 58592ea..0000000 --- a/llmdoc/index.md +++ /dev/null @@ -1,21 +0,0 @@ -# Mond 文档 - -## 概览 - -[项目概述](/overview/project-overview.md) - -## 指南 - -- [安装指南](/guides/installation.md) - -## 架构 - -- [系统设计](/architecture/system-design.md) - -## 参考资料 - -- [配置参考](/reference/configuration-reference.md) - -## 许可证 - -本文档遵循 BSD-3-Clause 许可证,与 Mond 项目保持一致。 diff --git a/llmdoc/overview/project-overview.md b/llmdoc/overview/project-overview.md deleted file mode 100644 index b649713..0000000 --- a/llmdoc/overview/project-overview.md +++ /dev/null @@ -1,19 +0,0 @@ -# Mond: Monero Daemon 定制版 - -## 1. 身份 - -- **定义**:Monero 守护进程的定制开源实现 -- **目的**:提供高度可移植、易于部署的 Monero 节点解决方案 - -## 2. 高级描述 - -Mond 是基于 Monero 项目的定制守护进程实现,专注于多架构支持、简化部署和增强可移植性。通过纯静态链接和多种安装方式,Mond 为不同 Linux 环境中运行 Monero 节点提供了灵活的选择。 - -## 3. 关键特性 - -- 多架构支持(AMD64、ARM64) -- 多发行版兼容(Ubuntu、Debian) -- 纯静态链接 -- 灵活的安装和配置选项 -- 隐私保护 -- 自动更新支持 diff --git a/llmdoc/reference/configuration-reference.md b/llmdoc/reference/configuration-reference.md deleted file mode 100644 index 5687de8..0000000 --- a/llmdoc/reference/configuration-reference.md +++ /dev/null @@ -1,24 +0,0 @@ -# Mond 参考信息 - -## 核心摘要 - -Mond 是 Monero 守护进程的定制开源实现,提供高度可配置和可移植的 Monero 节点解决方案。 - -## 关键信息源 - -- **源代码库**:https://github.com/monero-project/monero -- **官方网站**:未定义(本项目为定制版) -- **授权协议**:BSD-3-Clause - -## 配置选项参考 - -### 常用命令行参数 - -- `--data-dir `:指定数据目录 -- `--log-file `:指定日志文件路径 -- `--log-level `:日志级别(0-4) -- `--detach`:后台运行 -- `--rpc-bind-ip `:RPC 绑定 IP -- `--rpc-bind-port `:RPC 绑定端口 -- `--p2p-bind-ip `:P2P 绑定 IP -- `--p2p-bind-port `:P2P 绑定端口 diff --git a/llmdoc/reference/configuration.md b/llmdoc/reference/configuration.md deleted file mode 100644 index 6f9f0f3..0000000 --- a/llmdoc/reference/configuration.md +++ /dev/null @@ -1,206 +0,0 @@ -# Mond 配置参考 - -## 配置文件 - -### Debian/Ubuntu 系统包配置文件 - -Debian/Ubuntu 系统包安装后,Mond 使用配置文件方式运行: - -- **配置文件位置**: `/var/lib/mond/params.conf` -- **配置文件格式**: INI 格式,每行一个配置项,采用双语注释(英文大写标题 + 中文详细说明) -- **修改后生效**: 修改配置文件后需要重启服务 - -```bash -# 编辑配置文件 -sudo nano /var/lib/mond/params.conf - -# 重启服务使配置生效 -sudo systemctl restart mond.service -``` - -### 配置文件示例 - -```ini -# DATA STORAGE -# ============================================================================ -# data-dir: 区块链数据存储目录 -data-dir=/var/lib/mond/data - -# BLOCKCHAIN PRUNING -# ============================================================================ -# prune-blockchain: 启用区块链修剪模式 -prune-blockchain=1 - -# sync-pruned-blocks: 同步已修剪的区块(默认启用) -sync-pruned-blocks=1 - -# NETWORK PEER SETTINGS -# ============================================================================ -# out-peers: 主动连接的对等节点数量(出站连接) -out-peers=32 - -# in-peers: 接受连接的对等节点数量(入站连接) -in-peers=64 - -# limit-rate-up: 上传速率限制(kB/s) -limit-rate-up=1048576 - -# limit-rate-down: 下载速率限制(kB/s) -limit-rate-down=1048576 - -# PRIORITY NODES -# ============================================================================ -# add-priority-node: 优先连接的可信节点 -add-priority-node=p2pmd.xmrvsbeast.com:18080 -add-priority-node=nodes.hashvault.pro:18080 - -# SECURITY AND NETWORK INTEGRITY -# ============================================================================ -# enforce-dns-checkpointing: 强制执行 DNS 检查点验证 -enforce-dns-checkpointing=1 - -# enable-dns-blocklist: 启用 DNS 黑名单 -enable-dns-blocklist=1 - -# ZMQ NOTIFICATION SYSTEM -# ============================================================================ -# zmq-pub: ZeroMQ 发布接口,用于实时广播区块链事件 -zmq-pub=tcp://127.0.0.1:18083 - -# P2P AND RPC NETWORK BINDING -# ============================================================================ -# p2p-bind-ip: P2P 网络监听地址(默认启用,绑定所有网络接口) -p2p-bind-ip=0.0.0.0 - -# p2p-bind-port: P2P 网络监听端口 -p2p-bind-port=18080 - -# rpc-bind-ip: RPC 接口监听地址 -#rpc-bind-ip=0.0.0.0 - -# rpc-bind-port: RPC 接口监听端口 -#rpc-bind-port=18081 - -# confirm-external-bind: 确认外部网络绑定 -#confirm-external-bind=1 - -# RPC AUTHENTICATION -# ============================================================================ -# rpc-login: RPC 访问认证凭据 -#rpc-login=user:password - -# RPC SSL/TLS ENCRYPTION -# ============================================================================ -# rpc-ssl: 启用 RPC 连接的 SSL/TLS 加密(语义更清晰的启用方式) -rpc-ssl=enabled - -# rpc-ssl-certificate: SSL 证书文件路径 -#rpc-ssl-certificate=/path/to/your/certificate.pem - -# rpc-ssl-private-key: SSL 私钥文件路径 -#rpc-ssl-private-key=/path/to/your/private_key.pem - -# LOGGING SETTINGS -# ============================================================================ -# log-level: 日志详细程度(调整为详细日志级别) -log-level=1 - -# log-file: 日志文件保存路径 -log-file=/var/log/mond/mond.log -``` - -### 配置文件保护 - -配置文件在以下情况下**不会被覆盖**: -- 执行 `apt upgrade` 升级 mond 包时 -- 重新安装 mond 包时 - -这确保了您的自定义配置不会在更新时丢失。 - -## 命令行选项 - -### 使用配置文件 - -```bash ---config-file # 指定配置文件路径(推荐) -``` - -### 数据和日志控制 - -```bash ---data-dir # 指定数据目录 ---log-file # 指定日志文件路径 ---log-level # 日志级别 (0-4) ---detach # 后台运行 -``` - -### 网络配置 - -```bash ---rpc-bind-ip # RPC 绑定 IP (默认: 127.0.0.1) ---rpc-bind-port # RPC 绑定端口 (默认: 18081) ---p2p-bind-ip # P2P 绑定 IP (默认: 0.0.0.0) ---p2p-bind-port # P2P 绑定端口 (默认: 18080) -``` - -**注意**: 命令行参数会覆盖配置文件中的对应设置。 - -## 目录结构 - -### Debian/Ubuntu 系统包 - -``` -/opt/mond/mond # 二进制文件 -/var/lib/mond/params.conf # 配置文件 -/var/lib/mond/data/ # 区块链数据目录 -/var/log/mond/ # 日志目录 -``` - -### 通用二进制包 - -``` -./mond # 二进制文件 -~/.mond/ # 默认数据目录 -``` - -## Systemd 服务配置 - -### 服务文件位置 - -`/lib/systemd/system/mond.service` - -### 关键配置段 - -```ini -[Service] -WorkingDirectory=/opt/mond -# 使用配置文件启动 -ExecStart=/opt/mond/mond --config-file=/var/lib/mond/params.conf --non-interactive -User=mond -Group=mond - -# 安全设置 -NoNewPrivileges=true -PrivateTmp=true -ProtectSystem=strict -ProtectHome=true -ReadWritePaths=/var/lib/mond /var/lib/mond/data /var/log/mond -``` - -### 修改服务配置 - -systemd 服务文件使用 `--config-file` 参数,所有运行时配置都在配置文件中设置。 - -如需修改服务配置: -1. 编辑配置文件:`sudo nano /var/lib/mond/params.conf` -2. 重启服务:`sudo systemctl restart mond.service` - -**不建议**直接修改 systemd 服务文件,因为包更新时可能会被覆盖。 - -## 日志级别 - -- `0`: 仅记录关键错误 -- `1`: 记录错误和警告 -- `2`: 标准日志级别(默认) -- `3`: 详细日志 -- `4`: 调试级别(最详细) \ No newline at end of file diff --git a/llmdoc/reference/faq.md b/llmdoc/reference/faq.md deleted file mode 100644 index 7ccca68..0000000 --- a/llmdoc/reference/faq.md +++ /dev/null @@ -1,20 +0,0 @@ -# Mond 项目常见问题解答 - -## 构建问题 - -### Q1: 编译时出现 Boost 组件缺失错误 -**解决方案:** -- 确保安装所有必需的 Boost 组件 -- Alpine Linux 需要额外安装 boost-static 和具体组件包 - -### Q2: 版本宏定义错误 -**解决方案:** -- 检查 init.sh 脚本 -- 确保使用正确的 sed 替换命令 -- 全局替换 MONERO_VERSION 为 MOND_VERSION - -### Q3: CMake 构建失败 -**排查步骤:** -1. 验证 CMake 版本兼容性 -2. 检查依赖库安装情况 -3. 确认编译器版本支持