本页目录 14 个章节
运行门罗币节点需要 monerod 和一块 SSD;如需接受对等节点连接,还要开放 TCP 端口 18080。截至 2026 年 10 月 5 日,Monero 文档给出的完整区块链大小约为 265 GiB,修剪后为 105 GiB,并建议至少配备 4 GB 内存。公共远程节点还要在端口 18089 上提供受限 RPC。
简要结论
| 节点类型 | 修剪节点 | 全节点 | 公共远程节点 |
|---|---|---|---|
| 作用 | 完整验证所有数据,只保留约三分之一的数据 | 保存整条区块链,并向同步中的节点提供历史数据 | 通过受限 RPC 同时响应他人钱包请求的全节点 |
| 区块链大小(2026 年 10 月 5 日) | 约 105 GiB | 约 265 GiB | 约 265 GiB |
| 文档建议的 SSD 空间 | 262.5 GiB 或以上 | 662.5 GiB 或以上 | 662.5 GiB 或以上 |
| 内存 | 4 GB 或以上 | 4 GB 或以上 | 4 GB 或以上;公共 RPC 会增加负载 |
| 入站 TCP 端口 | 18080(可选) | 18080 | 18080 和 18089 |
| 谁会从您这里下载数据 | 对等节点;对同步中节点的帮助最多为全节点的 1/8 | 对等节点,包括正在获取历史数据的新节点 | 对等节点,以及通过您的节点同步的每一个钱包 |
门罗币节点需要什么硬件?
首先是磁盘。官方 systemd 指南给出了截至 2026 年 10 月 5 日的区块链大小:全节点约 265 GiB,修剪节点约 105 GiB;并建议分别预留至少 662.5 GiB 和 262.5 GiB 的 SSD 空间,即当前大小的两倍半,为区块链增长留出余地。该项目的 FAQ 曾给出 2024 年完整区块链约 225 GB 的数字,由此可见,每年的增长量是几十 GB,而不是几百 GB。与硬盘容量比较时请注意单位:265 GiB 约合 285 GB。
文档建议使用 SSD 存储,FAQ 也提醒,在老旧的机械硬盘上,初始同步可能需要很长时间。对于为钱包提供服务的节点,NVMe 是更从容的选择,因为每个通过它同步的钱包都会让它从磁盘读取区块。
内存。指南建议配备 4 GB 或以上内存。区块通过 RandomX 进行验证,这是门罗币自 2019 年 11 月 30 日起采用的工作量证明算法。其参考实现提供两种模式:轻量模式需要 256 MiB 内存,用于验证;快速模式需要 2,080 MiB,用于挖矿。只有设置了 MONERO_RANDOMX_FULL_MEM 环境变量,monerod 才会分配完整的数据集。
CPU。即使只是验证,RandomX 的计算开销也很大。因此,对于哈希值已内置在二进制文件中的较早区块,monerod 默认会跳过工作量证明检查(fast-block-sync)。它会使用全部 CPU 线程执行并行任务,并在同步期间用四个线程计算区块哈希。同步是最吃资源的阶段:如果您不希望 monerod 在追赶进度时独占整台机器,参考文档建议调低 prep-blocks-threads。更多核心的主要作用是缩短首次同步的时间。
全节点还是修剪节点?
修剪可以节省约三分之二的磁盘空间,且不会丢失交易历史。修剪节点会丢弃 7/8 的环签名数据(防止双花并不需要这些数据),随机保留其中八分之一,并将其提供给其他节点。据 Moneropedia 介绍,这对节点运营者没有任何隐私或安全方面的不利影响。代价由网络承担:修剪节点为同步中的节点提供的帮助最多只有全节点的 1/8,不过它仍会正常转发新区块和新交易。
- 用
prune-blockchain=1从首次同步起就开始修剪。再加上sync-pruned-blocks=1,即可直接下载已修剪的区块,从而节省传输流量。 - 在已有的区块链上启用修剪,只会在数据库文件内部把空间标记为空闲,文件本身并不会缩小。
monero-blockchain-prune工具会以完整副本为基础构建一个更小的新副本,因此在它运行期间,需要有能同时容纳两者的空间。 - FAQ 建议在存储空间允许时运行全节点。若要提供公共服务或帮助新节点同步,请运行全节点;若是存储空间有限的私人节点,则运行修剪节点。
门罗币远程节点:用别人的,还是自己运行?
远程节点是指与您的钱包通信、但不在同一台机器上的任何节点。Moneropedia 区分了两类:由您控制、通常部署在服务器上的私有远程节点,以及任何人都可以使用的开放节点。远程节点永远看不到您的密钥:monerod 与钱包相互独立,无法动用您的资金。但它确实能看到元数据。据 FAQ 所述,远程节点的运营者可以看到交易来自哪个 IP 地址,虽然看不到收款方和金额,但在极端情况下可能会尝试发动削弱您隐私的攻击。
这正是在服务器上运行自有节点的理由。您的桌面钱包和手机钱包可以连接一个由您掌控、由 systemd 保持全天候同步的节点,您也永远不必把自己的 IP 地址交给陌生人的节点。将节点作为公共远程节点向他人开放,是在为无法自行运行节点的人提供服务;文档提醒,公共 RPC 可能会占用相当多的资源。
门罗币节点:用 VPS 还是独立服务器?
两者都可以。决定因素在于节点的用途。
| 问题 | VPS | 独立服务器 |
|---|---|---|
| 适合场景 | 供您自己的钱包使用的修剪节点 | 全节点或公共节点,或在一台机器上运行多条链 |
| 磁盘 | 核实 SSD 容量及 I/O 限制:区块链必须放得下,并留有余量 | 独享整块 NVMe 硬盘,同一磁盘上没有其他租户 |
| CPU | 共享 vCPU:初始同步会比较慢 | 每个核心都归您独享 |
| 流量 | 核实流量配额:公共节点整月都在上传 | 核实端口的计费方式;我们的端口不限流量 |
| 地址 | 确认是否提供静态 IPv4 和 IPv6 | 固定 IPv4;我们的服务器还附带一个路由的 IPv6 /64 网段 |
在家里运行节点也可以,但有两点需要注意。一是正如 FAQ 所指出的,您的网络运营商能看出您在运行节点。二是在路由器后面接受对等节点连接,需要端口转发或 UPnP;如果一段时间内都没有入站连接,monerod 会自行尝试 UPnP。服务器可以同时避免这两个问题:它有公网地址,因此您可以用 no-igd 关闭 UPnP;而且即使您家里的网络断线,它也能保持在线。
我们适合什么、不适合什么:如果您只需要为一个钱包运行修剪节点,家里的机器或小型 VPS 更便宜。运行全节点或公共节点,或者节点要与比特币节点或其他服务共用一台机器时,独立服务器才更划算。如果您的计划包括挖矿,请另寻他处:我们的可接受使用政策不允许在任何服务器上挖矿。运行节点(无论私有还是公共)则完全没有问题。
端口与 RPC:哪些应对外开放
| 端口 | 服务 | 开放范围 |
|---|---|---|
| 18080 | P2P(默认) | 向互联网开放,接受对等节点的入站连接 |
| 18081 | 完整 RPC(默认),绑定到 127.0.0.1 | 切勿对外开放:它拥有完全的管理控制权 |
| 18089 | 受限 RPC,文档中用于开放节点的端口 | 运行公共节点或供您自己的远程钱包连接时开放 |
| 18082 | ZMQ RPC(默认),绑定到 127.0.0.1 | 仅限本地 |
| 18083 | 文档配置中的 ZMQ 发布数据流 | 仅限本地 |
| 18084, 18085 | 文档配置中经由 Tor 和 I2P 的 P2P | 绑定到 127.0.0.1,通过 Tor 或 I2P 访问;无需在防火墙上开放端口 |
让外部钱包接入有两种方式。官方配置将完整 RPC 保留在 127.0.0.1:18081,并通过 rpc-restricted-bind-ip=0.0.0.0 和 rpc-restricted-bind-port=18089 再添加一个受限的监听端口。受限 API 只提供只读调用,不包含涉及隐私的数据。另一种方式是用 restricted-rpc 限制主端口,再用 rpc-bind-ip 将其绑定到公网地址,而 monerod 只有在同时设置 confirm-external-bind 时才会接受这种绑定。两种方式二选一:如果同时使用,最终会得到两个受限 API。
public-node 会在 P2P 网络上公布您的 RPC 端口,让钱包能够自动发现它;除非已按上述两种方式之一限制了 RPC,否则 monerod 会拒绝该选项。不设置它,节点仍然可以是公共节点,只是不会被公布出去。
ZMQ 供同一台机器上的软件使用。monerod 默认在 127.0.0.1:18082 上运行 ZMQ RPC 服务器;设置 zmq-pub 后,它还会针对新区块和内存池中的新交易发布 JSON 事件,供本地服务订阅。请让两者都只监听 localhost;如果没有程序使用 ZMQ,可以用 no-zmq 将其关闭。
适用于服务器的 monerod.conf
此文件沿用官方 systemd 指南中的配置,并精简为服务器所需的内容。有两处改动:其一,关闭了 UPnP,因为服务器不在 NAT 之后;其二,指南为避免通过 Tor 连接的钱包被封禁而启用了 disable-rpc-ban,此处在您配置好 Tor 或 I2P 之前保持注释状态。运行修剪节点时,请取消修剪相关行的注释;要公布公共节点,请取消 public-node 的注释。
# /etc/monero/monerod.conf
data-dir=/var/lib/monero/bitmonero
log-file=/var/log/monero/monero.log
log-level=0 # minimal; does not log peers or connecting wallets
max-log-file-size=2147483648 # 2 GB; rotate with logrotate instead
# Pruned node only
#prune-blockchain=1
#sync-pruned-blocks=1
check-updates=disabled # no update checks over DNS
enable-dns-blocklist=1 # block known malicious nodes
# P2P: all interfaces, port 18080 (the defaults)
no-igd=1 # no UPnP on a server with a public IP
#p2p-use-ipv6=1 # also accept peers over IPv6
# Wallets: restricted RPC on 18089; full RPC stays on 127.0.0.1:18081
rpc-restricted-bind-ip=0.0.0.0
rpc-restricted-bind-port=18089
rpc-ssl=autodetect
#public-node=1 # advertise as a public remote node
zmq-pub=tcp://127.0.0.1:18083 # local subscribers only
max-txpool-weight=2684354560 # about 2.5 GB mempool (default about 618 MB)
out-peers=12
in-peers=48
limit-rate-up=1048576 # kB/s, about 1 GB/s (default 8192)
limit-rate-down=1048576 # kB/s, about 1 GB/s (default 32768)
# Tor and I2P, see below
#tx-proxy=tor,127.0.0.1:9050,12,disable_noise
#anonymous-inbound=YOUR_ONION_ADDRESS.onion:18084,127.0.0.1:18084,24
#disable-rpc-ban=1
以非 root 用户身份通过 systemd 运行 monerod
官方指南以系统用户身份运行 monerod,该用户只拥有其数据目录和日志目录,而二进制文件的所有者仍为 root。请从 getmonero.org 下载 Linux 命令行版压缩包,并在解压前进行校验:该网站列出了 SHA-256 哈希值,并发布了带 GPG 签名的 hashes.txt 作为权威参考。
sudo useradd --system monero
sudo mkdir -pm 750 /etc/monero /var/lib/monero /var/log/monero
sudo chown root:monero /etc/monero
sudo chown monero:monero /var/lib/monero /var/log/monero
tar -xvf monero-linux-x64-v*.tar.bz2
sudo mv monero-x86_64-linux-gnu-v*/* /usr/local/bin/
sudo chown root:root /usr/local/bin/monero*
然后创建单元文件。该文件与文档和 Monero 代码仓库中发布的版本相同:
# /etc/systemd/system/monerod.service
[Unit]
Description=Monero Daemon
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
ExecStart=/usr/local/bin/monerod --config-file /etc/monero/monerod.conf --non-interactive
Restart=always
RestartSec=30
User=monero
Group=monero
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable monerod
sudo systemctl restart monerod
systemctl status monerod
tail -n 100 /var/log/monero/monero.log
monerod status # height, sync progress and connections
monerod sync_info # peers, with download and upload stats
--non-interactive 让 monerod 无需终端即可在前台运行,这正是 systemd 所期望的方式;Restart=always 则会在其崩溃 30 秒后将其重新启动。
防火墙与安全
- 只开放您提供服务所需的端口。为对等节点开放 TCP 18080;如果运行公共节点或供您自己的远程钱包连接,再开放 TCP 18089。Tor 和 I2P 无需开放任何端口。使用 ufw 时(与文档一致),请运行
ufw allow 18080/tcp和ufw allow 18089/tcp。使用 nftables 时,请将tcp dport { 18080, 18089 } accept添加到我们上线首小时安全加固清单中的规则集里,该清单还涵盖了仅允许密钥登录的 SSH 和自动更新。 - 管理接口只在本地开放。端口 18081 上的完整 RPC 默认绑定到 127.0.0.1,因为它拥有节点的完全管理控制权。18082 和 18083 端口上的 ZMQ 同样只限本地访问。
- 让 monerod 限制滥用。默认情况下,它允许每个公网 IP 地址建立 3 个 RPC 连接、总计不超过 100 个,并且每个 IPv4 地址或 IPv6 /64 网段只允许一个 P2P 连接。请保持 DNS 黑名单开启。除非确有需要,文档不建议使用静态 IP 封禁列表,因为这类列表往往会把只能通过匿名网络连接的用户拒之门外。
- 要预料到恶意流量。
ban-list选项是在 2020 年 12 月和 2021 年 1 月门罗币 P2P 网络遭受大规模 DDoS 攻击期间作为应急措施引入的。每台 PowerDedi 服务器都包含始终开启的网络层 DDoS 清洗。 - 远程钱包请使用 TLS。参考文档建议在远程钱包连接时启用 RPC TLS;只要钱包支持,
rpc-ssl=autodetect就会使用 TLS。
Tor 与 I2P
monerod 将 Tor 和 I2P 用于交易,而不用于同步:它无法通过洋葱服务或 I2P 服务下载区块链。tx-proxy 会通过本地 SOCKS 代理(Tor 位于 127.0.0.1:9050,I2P 位于 127.0.0.1:4447)发送您自己钱包的交易,而从其他对等节点转发来的区块和交易仍走明网。anonymous-inbound 会公布您的洋葱地址或 I2P 地址,以便其他节点向您发送交易。它需要使用独立的端口:文档中 Tor 为 18084,I2P 为 18085,绝不能是 18080。项目方至今仍将这项集成称为实验性功能。
# /etc/tor/torrc
HiddenServiceDir /var/lib/tor/monerod
HiddenServicePort 18089 127.0.0.1:18089 # wallets (restricted RPC)
HiddenServicePort 18084 127.0.0.1:18084 # P2P over Tor
同一个洋葱服务还会转发 18089 端口,让您的钱包可以通过端到端加密的洋葱连接访问节点;文档指出,这样可以避免明网和 Tor 出口节点带来的中间人风险。重启 Tor,从 /var/lib/tor/monerod/hostname 读取地址,在 monerod.conf 中设置 anonymous-inbound 和 tx-proxy,并备份 /var/lib/tor/monerod:其中保存着您洋葱地址的密钥。Tor 客户端和洋葱服务都不是 Tor 中继;我们的可接受使用政策仅要求 Tor 出口中继事先获得书面批准。
门罗币节点会消耗多少带宽?
公共节点每月的流量没有官方数字:这取决于有多少对等节点和钱包在使用它。文档给出的是上限。默认情况下,monerod 将上传限制在 8,192 kB/s,约合 67 Mbit/s,若持续跑满,一个 30 天的月份约为 21.7 TB;下载限制在 32,768 kB/s,约合 268 Mbit/s。官方配置将两者都提高到 1,048,576 kB/s(约 1 GB/s),让节点为网络做出更多贡献,同步也更快。采用这些设置后,瓶颈在于您的端口,而不是 monerod。
此外还要算上初始同步:全节点要完整下载一次区块链,而同步已修剪区块的修剪节点约下载其中的三分之一。在按流量计费的套餐上,请用 limit-rate-up 限制上传,或在运行时使用 limit_up 命令,并留意 sync_info 的输出。在 10 Gbps 不限流量端口上,文档中的限速设置可以保持不变。
什么门罗币节点选什么服务器
| 选用 | 配置 | 容量是否够用? | 价格 |
|---|---|---|---|
| 私有全节点,或留有余量运行其他服务的修剪节点 | Ryzen 5 7600、6 核、32 GB DDR5、2 × 512 GB NVMe | 镜像后约 477 GiB:能容纳目前 265 GiB 的完整区块链,但达不到文档建议的 662.5 GiB。条带化后约 954 GiB:满足建议,但没有冗余 | $55/月 |
| 公共全节点,与比特币全节点同机运行 | Ryzen 7 7700、8 核、64 GB DDR5、2 × 1 TB NVMe | 门罗币的 265 GiB 加上比特币的 750 GB 以上,合计至少 960 GiB,超过两块硬盘镜像后的容量(约 931 GiB)。可将两块硬盘做条带化(约 1,863 GiB),或对比特币节点进行修剪 | $79/月 |
| 两条链均不修剪,使用镜像硬盘 | Ryzen 9 9950X、16 核、128 GB DDR5、2 × 1.92 TB NVMe | 镜像后约 1,788 GiB | $159/月 |
以上容量未扣除操作系统和文件系统的开销。条带化可使空间翻倍,但任何一块硬盘故障都会导致整个卷丢失,需要完全重新同步。区块链随时可以重新下载,但您的配置和洋葱密钥不行,因此请将它们备份到别处。折中的做法是对两块硬盘都进行分区:用一个小镜像存放操作系统,用条带存放区块链。共用机器上比特币部分的配置,请参阅我们的比特币节点硬件指南。
这三款都是即时交付的配置,在您的付款获得链上确认后约 15 分钟即可开通;Ryzen 5 7600 和 Ryzen 7 7700 可在阿姆斯特丹、法兰克福、伦敦、巴黎、纽约、迈阿密、洛杉矶和新加坡选购。每台服务器都配备独享的 10 Gbps 不限流量端口、始终开启的 DDoS 清洗、可在浏览器中使用的 IPMI/KVM,以及一个固定 IPv4 地址和一个路由的 IPv6 /64 网段;设置 p2p-use-ipv6 后,monerod 就会通过 IPv6 连接对等节点。按月计费,免开通费。
用门罗币支付节点费用
您可以用 XMR 支付服务器费用。价格以美元计价,发起付款后,XMR 金额会锁定 45 分钟。注册只需一个邮箱地址,无需身份证件、手机号或银行卡;您还可以预先为账户余额充值,让续费自动扣款。具体步骤见使用加密货币支付,XMR 的相关细节请参阅我们的使用门罗币支付页面。
参考资料
- 通过 Systemd 运行门罗币节点 — Monero 文档(区块链大小截至 2026 年 10 月 5 日)
- monerod - 参考手册 — Monero 文档
- Tor 与 I2P — Monero 文档
- 常见问题 — getmonero.org
- 修剪 — Moneropedia,getmonero.org
- 远程节点 — Moneropedia,getmonero.org
- 下载 — getmonero.org
- 门罗币与匿名网络 — monero-project,GitHub
- ZMQ 在门罗币中的现状与未来 — monero-project,GitHub
- src/daemon/main.cpp(public-node 相关检查) — monero-project,GitHub
- RandomX — tevador,GitHub
- 运行全节点 — Bitcoin.org




