# 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`: 调试级别(最详细)