凌晨两点,你的节点卡在区块1,日志里peers不断连上又断开——这是Midnight节点运营者最常见的噩梦。这篇教程专为开发者和节点运营者设计,手把手教你从零搭建全节点、监控同步状态、排查peer问题,最终让节点健康运行。

先厘清一个关键概念:全节点不需要proof server。后者为智能合约工作流生成零知识证明,而全节点只负责同步链状态、验证区块和交易、在启用时暴露本地RPC,并加入P2P网络。本文聚焦全节点本身。

打开网易新闻 查看精彩图片

你将搭建的单主机运营架构包含:Cardano节点、Cardano-db-sync、PostgreSQL数据库、Midnight全节点,以及绑定到127.0.0.1的本地RPC和Prometheus端点。默认指向Preview环境——这是早期开发和运营练习的最佳选择。切换至Preprod或Mainnet前,务必核对当前兼容性矩阵。

Midnight节点在网络中扮演什么角色?它实现核心协议逻辑、管理P2P网络、作为Cardano Partnerchain去中心化运行,同时执行Midnight账本组件、强制协议规则、维护状态完整性、发现peer、建立连接,并在网络中传播状态。全节点与归档节点的核心差异在于状态保留:全节点同步区块链、验证交易、提供实时状态查询,但会修剪旧历史状态(官方文档默认修剪窗口为256个区块);归档节点则保留完整区块和历史状态,仅推荐用于浏览器、历史调试、分析等场景——除非明确需要,否则选择全节点,归档模式会显著增加存储和运营成本。

环境准备:生产或严肃测试请用Linux主机,以下命令基于Ubuntu 22.04 LTS或24.04 LTS。你需要sudo权限、稳定网络、开放入站TCP 30333用于P2P流量、出站HTTPS和P2P访问、Docker Engine及Compose插件,以及jq、curl、openssl、psql、nc等工具。硬件需满足Cardano-db-sync和Midnight节点的CPU、内存、磁盘及IOPS需求。关键警告:禁用latest镜像标签,必须根据目标网络固定节点镜像版本。

网络与镜像选择:以下数值反映撰写时的公开兼容性信息,启动或升级前务必核对发布矩阵。本教程使用Preview环境,配置如下:

MIDNIGHT_NETWORK=preview

MIDNIGHT_NODE_VERSION=0.22.5

MIDNIGHT_NODE_IMAGE=midnightntwrk/midnight-node:0.22.5

CARDANO_NETWORK=preprod