免费获取学习方案
ARTICLE DETAIL

资讯详情

深耕编程基础知识与建站技术分享的一线实战洞察。

xrpld 安装部署指南:基于 XRP Ledger 官方 DEB/RPM 包的一站式部署方案

xrpld 安装部署指南:基于 XRP Ledger 官方 DEB/RPM 包的一站式部署方案 xrpld 安装部署指南基于 XRP Ledger 官方 DEB/RPM 包的一站式部署方案【免费下载链接】rippledDecentralized cryptocurrency blockchain daemon implementing the XRP Ledger protocol in C项目地址: https://gitcode.com/GitHub_Trending/ri/rippled本文以 docs/install.md 为核心脉络完整讲解 xrpldXRP Ledger 协议参考实现守护进程在 64 位 x86 Linux 上通过官方 APT / YUM 软件包进行安装、配置与管理的全过程。读完本文你将掌握稳定版、候选版、测试版与开发版四个发布渠道的选用规则能够在 Debian/Ubuntu 或 RHEL/AlmaLinux/Rocky Linux 上完成密钥校验、仓库接入、服务启停以及特权端口绑定并理解软件包背后的 systemd 单元、目录布局与发布机制做到可安装、可验证、可排障。适用版本与安装方式总览xrpld 以DEB 与 RPM 两种二进制软件包形式发布目标平台为64 位 x86 LinuxDebian 系发行版Debian、Ubuntu使用APT安装Red Hat 系发行版RHEL、AlmaLinux、Rocky Linux使用YUM安装需要定制构建或非 Linux 平台时可参考 BUILD.md 从源码编译。[!NOTE] 本文说明适用于2026-08-19 起发布的软件包。xrpld 3.3.0 及更早版本使用旧仓库repos.ripple.com其安装步骤见 docs/install-legacy.md新版本则统一从 XRPL Foundation 维护的packages.xrplf.org分发。从仓库目录结构可以印证这一发布形态package/README.md 说明package/目录包含构建 RPM 与 Debian 包所需的全部文件且包内还会附带validator-keys工具密钥管理工具因此打包构建必须启用-Dvalidator_keysON。软件包在安装时会将二进制与配置安装到 FHS 标准路径/usr/bin、/etc/xrpld等这一行为由 package/build_pkg.py 与 package/debian/rules、package/rpm/xrpld.spec 共同决定。发布渠道Release channels与选用原则软件包发布到四个渠道对应不同的稳定程度与版本来源渠道用途版本来源stable生产发布版正式版本标签rc发布候选版Release Candidate预发布标签beta测试版预发布标签develop开发版对develop分支的每次推送渠道与版本号的对应关系在 package/README.md 的发布流程表中有明确定义打上X.Y.Z标签走stableX.Y.Z-rcN走rcX.Y.Z-bN走beta而对develop分支的每次推送则走develop渠道其版本直接取自xrpld --version输出。各渠道分别对应 Nexus 上独立的 DEB/RPM 仓库如deb-stable、rpm-stable-hosted互不干扰。[!WARNING]除stable外的渠道随时可能处于不可用状态严禁用于生产服务器。生产环境务必锁定stable。本文以下所有命令均以stable渠道为例如需跟随其他渠道只需将仓库配置中的stable替换为对应渠道名即可。使用 APT 安装Debian / Ubuntu1. 安装基础工具sudo apt update -y sudo apt install -y apt-transport-https ca-certificates curl gnupgapt-transport-https用于通过 HTTPS 访问软件源gnupg用于导入与校验签名密钥。2. 导入 XRPL Foundation 软件包签名密钥sudo install -d -m 0755 /etc/apt/keyrings sudo curl -fsS https://packages.xrplf.org/xrplf.asc -o /etc/apt/keyrings/xrplf.asc将密钥存放于/etc/apt/keyrings这一 Debian 12 / Ubuntu 22.04 及更新版本的标准密钥目录而非旧式的/etc/apt/trusted.gpg.d。3. 校验密钥指纹gpg --show-keys /etc/apt/keyrings/xrplf.asc输出应包含如下内容pub rsa4096 2026-08-18 [SC] B655416741221F780FBCFBC9AA84D41A11D29FA9 uid XRPLF Packages distributionxrplf.org务必核对指纹与uid完全一致这是防止供应链投毒的关键一步。这与旧版见 docs/install-legacy.md使用 Ripple 的C0010EC2...指纹密钥不同——新渠道由 XRPL Foundation 独立签名。4. 添加软件源echo deb [signed-by/etc/apt/keyrings/xrplf.asc] https://packages.xrplf.org/repository/deb-stable any main | \ sudo tee /etc/apt/sources.list.d/xrplf.listsigned-by显式指定签名密钥路径使 APT 仅信任该密钥签名的仓库元数据仓库路径中的deb-stable即渠道名跟随其他渠道时替换此处如deb-rc、deb-beta、deb-developany为 Nexus 上为该仓库配置的发行版代号见 package/README.md。5. 拉取仓库索引并安装sudo apt -y update sudo apt -y install xrpld使用 YUM 安装RHEL / AlmaLinux / Rocky Linux1. 导入签名密钥sudo rpm --import https://packages.xrplf.org/xrplf.asc2. 添加 YUM 软件源cat REPOFILE | sudo tee /etc/yum.repos.d/xrplf.repo [xrplf-stable] nameXRP Ledger Packages enabled1 baseurlhttps://packages.xrplf.org/repository/rpm-stable/$basearch/ gpgcheck1 repo_gpgcheck1 gpgkeyhttps://packages.xrplf.org/xrplf.asc REPOFILE两个校验开关的含义gpgcheck1逐包校验每个 RPM 都使用上述密钥验证签名repo_gpgcheck1校验仓库元数据服务端用同一把密钥对元数据签名。仓库结构上Nexus 的托管仓库本身不能直接对 yum 元数据签名因此每个rpm-channel-hosted仓库后都挂着一个rpm-channel组仓库group repository由 Nexus 对组仓库的元数据签名客户端通过repo_gpgcheck1验证而 RPM 本身的签名由sign_rpm.py在发布前完成见 package/README.md客户端用gpgcheck1验证。这也解释了为什么两个开关必须同时开启。3. 安装软件包sudo yum install -y xrpldxrpld 服务管理systemd两个包管理器安装后都会注册并启用 systemd 单元使xrpld开机自启。区别在于APT 包安装后立即启动服务YUM 包不会自动启动需要手动启动。# 查看服务状态 systemctl status xrpld.service # YUM 安装后手动启动 sudo systemctl start xrpld.service服务单元文件的实现细节软件包内的 systemd 单元由 package/shared/xrpld.service 定义DEB 与 RPM 共用核心内容如下[Unit] DescriptionXRP Ledger Daemon Afternetwork-online.target Wantsnetwork-online.target StartLimitIntervalSec5min StartLimitBurst5 [Service] Typesimple ExecStart/usr/bin/xrpld --net --silent --conf /etc/xrpld/xrpld.cfg Restarton-failure RestartSec5s TimeoutStopSec5min NoNewPrivilegestrue ProtectSystemfull ProtectHometrue PrivateTmptrue Userxrpld Groupxrpld StateDirectoryxrpld StateDirectoryMode0750 LogsDirectoryxrpld LogsDirectoryMode0750 LimitNOFILE65536 SystemCallArchitecturesnative [Install] WantedBymulti-user.target从源码层面可以提炼出以下运维要点启动参数xrpld --net --silent --conf /etc/xrpld/xrpld.cfg——--net联网加入 P2P 网络--silent静默模式配置文件固定指向/etc/xrpld/xrpld.cfg运行身份以专用系统用户xrpld运行且NoNewPrivilegestrue、ProtectSystemfull、ProtectHometrue、PrivateTmptrue等加固选项全部开启最小化攻击面数据与日志目录由StateDirectoryxrpld与LogsDirectoryxrpld声明systemd 在每次启动时自动重建配合tmpfiles.d的首次安装创建见下文即使目录被误删也不会导致服务起不来重启策略Restarton-failure、RestartSec5s配合 5 分钟窗口内最多 5 次的重启限制避免故障时无限重启文件描述符LimitNOFILE65536为高连接数场景预留足够的文件描述符。运行用户与目录的创建由 package/shared/xrpld.sysusers 与 package/shared/xrpld.tmpfiles 声明# xrpld.sysusers —— 创建系统用户home 目录 /var/lib/xrpld禁止登录 u xrpld - XRP Ledger daemon /var/lib/xrpld /sbin/nologin # xrpld.tmpfiles —— 首次安装时创建数据与日志目录 d /var/lib/xrpld 0750 xrpld xrpld - d /var/log/xrpld 0750 xrpld xrpld -日志轮转软件包还附带 logrotate 配置 package/shared/xrpld.logrotate安装到/etc/logrotate.d/xrpld日志按日轮转、超过 200M 才轮转、保留 7 份、gzip 压缩轮转后通过xrpld --conf /etc/xrpld/xrpld.cfg logrotate通知守护进程重开日志文件且仅在服务实际运行时才发送信号避免对已停止节点产生误报错误。软件包的升级行为重要值得注意的是RPM 与 DEB 包的升级都不会自动重启正在运行的 xrpld 服务RPM spec 使用%systemd_postun见 package/rpm/xrpld.specDebian 侧对应dh_installsystemd --no-stop-on-upgrade见 package/debian/rules。这意味着升级安装新二进制后需运维人员择机手动重启服务以生效新版本sudo systemctl restart xrpld.service可选绑定特权端口80 / 443若要对外提供运行在80HTTP或 443HTTPS端口的 API 服务需要为服务授予绑定特权端口的 Linux capability同时修改配置文件中的端口设置。sudo install -d -m 0755 /etc/systemd/system/xrpld.service.d sudo tee /etc/systemd/system/xrpld.service.d/privileged-ports.conf /dev/null EOF [Service] CapabilityBoundingSetCAP_NET_BIND_SERVICE AmbientCapabilitiesCAP_NET_BIND_SERVICE EOF sudo systemctl daemon-reload sudo systemctl restart xrpld.service原理说明CapabilityBoundingSet限定进程可获取的能力上限AmbientCapabilities则让该能力在 exec 之后依然保留二者配合使xrpld无需以 root 运行即可绑定 1024 以下端口这一做法比旧版文档docs/install-legacy.md中的setcap cap_net_bind_serviceep /opt/xrpld/bin/xrpld更符合 systemd 管理习惯——包升级不会覆盖 drop-in 文件而直接对二进制setcap会在软件包更新时被重置。配套的端口配置配置文件/etc/xrpld/xrpld.cfg由软件包自带示例见 cfg/xrpld-example.cfg默认启用如下端口段[server] port_rpc_admin_local port_peer port_ws_admin_local [port_rpc_admin_local] port 5005 ip 127.0.0.1 admin 127.0.0.1 protocol http [port_peer] port 2459 ip 0.0.0.0 protocol peer [port_ws_admin_local] port 6006 ip 127.0.0.1 admin 127.0.0.1 protocol ws send_queue_limit 500如需将公共 WebSocket 服务绑定到 80/443可在[server]段取消#port_ws_public注释并配置对应端口段[port_ws_public] port 443 ip 0.0.0.0 protocol wss send_queue_limit 500示例配置同时注明HTTPS/WSS 端口未指定证书与密钥时xrpld 会在启动时自动生成自签名证书而默认的 admin 端口5005/6006仅绑定 127.0.0.1仅允许本机管理请求生产环境切勿将admin 127.0.0.1放开到公网地址。软件包内容与发布机制的源码佐证包含文件清单从 package/rpm/xrpld.spec 的%files段可见RPM 包包含xrpld与validator-keys两个二进制、/etc/xrpld/xrpld.cfg与validators.txt两份配置、systemd 单元、sysusers/tmpfiles 配置、logrotate 配置、文档与许可文件并保留/usr/local/bin/rippled符号链接以兼容旧命名习惯DEB 包内容由 package/debian/rules 的override_dh_install一致地安装到相同路径版本号规范打包脚本从xrpld --version输出推导软件版本预发布版本号中的-会转换为~如3.2.0-rc1→3.2.0~rc1使预发布版本在排序上先于正式版同时规避 RPM 对-的限制详见 package/README.mdglibc 下限DEB 包构建时会对二进制做readelf --dyn-syms检查确保所需 glibc 版本不高于LIBC_MIN 2.31防止二进制在较旧发行版上无法运行见 package/debian/rules可复现构建打包过程设置SOURCE_DATE_EPOCH并固定 RPM 的%_buildhost同一提交的二进制可产出字节级一致的软件包见 package/rpm/xrpld.spec 与 package/README.md。从源码构建替代方案软件包安装仅适用于预编译二进制。需要自定义构建或非 x86 Linux 平台时从源码构建是唯一选项详见 BUILD.md构建产物可通过 CMake 的--install模式安装到指定前缀默认/usr/localcmake --install . --prefix /opt/local常见问题速查问题排查方向apt update报签名错误核对/etc/apt/keyrings/xrplf.asc指纹是否为B655416741221F780FBCFBC9AA84D41A11D29FA9确认signed-by路径正确服务未自动启动YUM执行sudo systemctl start xrpld.serviceAPT 包安装后应立即启动可用systemctl status xrpld.service验证升级后版本未变化软件包升级不自动重启服务执行sudo systemctl restart xrpld.service生效无法监听 80/443检查/etc/systemd/system/xrpld.service.d/privileged-ports.conf是否生效systemctl daemon-reload后重启并同步修改配置文件的端口段误用非稳定渠道检查/etc/apt/sources.list.d/xrpld.list或/etc/yum.repos.d/xrplf.repo中的渠道名生产环境必须为stable【免费下载链接】rippledDecentralized cryptocurrency blockchain daemon implementing the XRP Ledger protocol in C项目地址: https://gitcode.com/GitHub_Trending/ri/rippled创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表