概述
欢迎加入 OKTC 主网!本文详细介绍了如何从零开始部署一个全新的 OKTC 全节点,以及如何将现有节点升级至最新版本。无论你是区块链爱好者、开发者还是潜在验证人,本指南都将为你提供清晰的操作步骤和关键注意事项。
OKTC 是一个高性能的区块链网络,支持智能合约和去中心化应用。运行全节点不仅可以让你深入了解区块链底层技术,还能为网络的安全性和去中心化做出贡献。
准备工作
在开始部署节点之前,请确保你的系统满足基本要求,并已完成必要的软件安装。
支持平台
OKTC 全节点支持以下操作系统:
- Mac OS X
- Windows
- Linux
系统要求
运行 exchaind 节点程序需要满足一定的硬件要求。具体配置取决于网络状态和你的需求,但一般推荐使用具备足够计算能力、内存和存储空间的服务器或个人电脑。建议访问官方资源查看最新的节点硬件要求细则。
安装 OKTC
在继续之前,你必须先安装 oktc 命令行工具。这是与 OKTC 区块链交互的核心组件。
部署全新全节点
以下步骤将指导你初始化一个全新的全节点。
初始化节点
首先,你需要初始化节点并创建必要的配置文件:
exchaind init <your_moniker> --chain-id=exchain-66
注意:moniker 名称只能包含 ASCII 字符。使用 Unicode 字符会导致你的节点无法被其他节点访问。
你也可以在初始化后,通过编辑 ~/.exchaind/config/config.toml 文件来修改 moniker。
配置最低 Gas 价格
为了启用反垃圾交易机制并拒绝低于最低 Gas 价格的交易,你可以编辑 ~/.exchaind/config/exchaind.toml 文件。推荐将最低 Gas 价格设置为 "0.000000001okt"。
至此,你的全节点已经初始化完成!
genesis.json 与种子节点
获取主网 Genesis 文件
Genesis 文件定义了区块链的初始状态。你需要将主网的 genesis.json 文件获取到 exchaind 的配置目录中。
建议从官方代码库的 latest 目录获取该文件,这里包含了主网的最新版本信息和 Genesis 文件。
curl -o ~/.exchaind/config/genesis.json https://raw.githubusercontent.com/okx/mainnet/latest/genesis.json
获取后,请运行验证命令以确保配置文件正确无误。
添加种子节点
种子节点帮助你的节点发现网络中的其他对等节点。你需要将稳定的种子节点地址添加到 $HOME/.exchaind/config/config.toml 文件中。
官方代码库的 README.md 文件通常会提供可用的种子节点列表。将这些节点地址填入配置文件的 seeds 字段即可。
启动节点
使用以下命令启动你的全节点:
exchaind start
启动后,你可以使用相应的检查命令来确认一切运行顺利。
JSON-RPC 端点
OKTC 节点提供了 JSON-RPC 接口,允许你与区块链进行交互,例如查询区块链数据、发送交易等。你可以通过配置和访问节点的 RPC 端口来使用这些功能。
节点升级指南
如果你的节点正在运行旧版本软件,并希望升级到最新的主网版本,请遵循以下步骤。
重置数据
首先,需要移除过时的数据文件并将数据重置。此操作会清除区块链数据,但会保留原始的 priv_validator.json(验证人密钥)和 config.toml(配置文件)。
exchaind unsafe-reset-all
重要提示:
- 确保每个节点都拥有独一无二的
priv_validator.json文件。切勿将旧的priv_validator.json文件复制到多个新节点上。运行两个具有相同验证人密钥的节点会导致“双签”行为,这是一种严重的违规行为,会导致资金处罚。 - 重置后,你的节点处于原始状态。如果之前配置了任何哨兵节点或全节点,你的节点仍会尝试连接它们,但如果对方节点未同时升级,则可能连接失败。
软件升级
接下来,升级 exchaind 软件至最新稳定版本。
# 例如,通过源码编译升级
git clone https://github.com/okx/exchain
cd exchain
git checkout master # master 分支通常包含最新稳定版本
make install
注意:如果在此步骤遇到问题,请检查你是否安装了最新稳定版本的 Go 语言环境。
升级完成后,重新启动节点即可。
升级为验证人节点
你现在拥有了一个活跃的全节点。下一步,你可以将其升级为 OKTC 验证人节点。OKTC 网络中排名前 100 的验证人有权向链提议新区块。成为验证人需要质押一定数量的代币并承担更多的网络责任。
常见问题
Q1: 部署 OKTC 节点最常见的错误是什么? A: 常见错误包括 Genesis 文件不匹配、端口配置错误、系统资源(特别是存储)不足,以及忘记添加有效的种子节点导致无法连接网络。务必严格按照指南操作并验证每一步。
Q2: 升级节点时,为什么必须确保 priv_validator.json 唯一?
A: priv_validator.json 是节点的身份凭证和签名密钥。如果多个节点使用相同的密钥,它们可能会对同一个区块高度签署不同的区块,造成“双签”,这会受到网络削减惩罚,导致质押的代币被销毁。
Q3: 全节点和验证人节点有什么区别? A: 全节点同步并验证整个区块链的历史和最新数据,但不参与共识投票和出块。验证人节点则是全节点的超集,它需要质押代币并积极参与共识过程,负责提议和验证新区块,是网络安全的直接维护者。
Q4: 运行节点对网络带宽有什么要求? A: 带宽要求随网络活动而变化。在全同步阶段需要较高的下载带宽。同步完成后,维持运行需要稳定的上传和下载带宽来处理持续的区块和交易广播,建议使用高速稳定的网络连接。
Q5: 如何监控我的节点是否健康运行? A: 你可以通过节点的 RPC 端口调用查询接口(如检查区块高度是否增长)、查看节点日志输出,或使用第三方监控工具来监控节点的进程状态、资源使用情况以及网络连接数。
Q6: 如果同步过程非常缓慢,可能是什么原因? A: 同步缓慢可能源于网络带宽不足、硬盘 I/O 性能瓶颈、连接的 peer 节点数量少或质量不高。可以尝试添加更多可靠的种子节点、使用 SSD 硬盘,并确保网络连接畅通。