Ika网络节点运维指南——验证节点、全节点、通知节点。用于部署、配置、监控或排查Ika基础设施。
Ika Node 操作指南
功能概述
Ika Node 操作指南是一项面向实际任务的技能,主要用于部署并运行 Ika 网络节点( 验证器、 完全节点、 通知器). 参考( 详细配置和操作). 参考/ 配置. md - 完整节点Co。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
核心要点
- 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
- 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
- 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
使用与执行
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
结果检查与注意事项
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
Ika 节点运营商指南
部署并运行 Ika 网络节点(验证者、全节点、通知器)。
参考文档(详细配置与操作说明)
references/configuration.md— 完整的 NodeConfig YAML 配置参考,包含所有字段及其默认值references/operations.md— 部署、监控、管理 API、恢复、指标代理references/validator-setup.md— 使用 CLI 命令逐步完成主网验证者搭建的完整流程
节点类型
| 二进制文件 | 运行模式 | 用途 | 关键配置项 |
|---|---|---|---|
ika-node |
自动识别 | 根据配置自动选择运行模式 | 自动识别 |
ika-validator |
Validator | 共识 + MPC 签名 | 需配置 consensus-config |
ika-fullnode |
Fullnode | 通过 P2P 进行状态同步,不参与共识 | 不可配置 consensus-config,且不可配置 notifier-client-key-pair |
ika-notifier |
Notifier | 向 Sui 提交检查点 | 需配置 notifier-client-key-pair |
自动识别顺序:若存在 consensus-config → 启动为 Validator;否则若存在 notifier-client-key-pair → 启动为 Notifier;否则 → 启动为 Fullnode。
硬件要求(验证者)
| 资源 | 最低要求 |
|---|---|
| CPU | 16 个物理核心 / 16 个 vCPU |
| 内存 | 128 GB |
| 存储 | 4 TB NVMe |
| 网络 | 1 Gbps |
| 操作系统 | Linux Ubuntu/Debian x64(或在 x64 Linux 上运行 Docker) |
警告:Hetzner 对加密相关服务有严格的使用条款(ToS),可能在无通知情况下关停验证者节点。
连通性(验证者端口)
| 协议/端口 | 方向 | 用途 |
|---|---|---|
| TCP/8080 | 入站 | 协议 / 交易接口 |
| UDP/8081 | 入站/出站 | 共识接口 |
| UDP/8084 | 入站/出站 | 点对点(P2P)状态同步 |
| TCP/8443 | 出站 | 指标推送 |
| TCP/9184 | 入站/出站 | 指标抓取(适用于 Sui 全节点与 Ika 节点) |
关键要求:端口 8080–8084 及 9184 必须开放,并确保协议类型(TCP/UDP)配置正确。
前置条件
- 验证者的 DNS 地址(例如:
ika-mainnet-1.) - 您自建的、已完全同步至 Sui 主网的 Sui 全节点(至少同步至最近两个 epoch)。Sui 节点应使用独立 DNS 地址。
- 已安装并配置好 Sui CLI,且已设置为主网环境,同时对应地址中至少持有 10 SUI
- 加入委员会所需的最低质押量为 4000 万 IKA
快速开始:主网验证者
从以下地址下载二进制文件:https://github.com/dwallet-labs/ika/releases
步骤 1:配置 Ika 运行环境
请从权威来源获取最新 package/object ID:
- 主网:
deployed_contracts/mainnet/address.yaml(GitHub) - 测试网:
deployed_contracts/testnet/address.yaml(GitHub)
./ika validator config-env --ika-package-id--ika-common-package-id --ika-dwallet-2pc-mpc-package-id --ika-system-package-id --ika-system-object-id # 将生成:~/.ika/ika_config/ika_sui_config.yaml # 注意:此时未设置 ika-dwallet-coordinator-object-id(默认为零); # 该值必须在节点的 validator.yaml 文件中,于 sui-connector-config 下另行配置。
步骤 2:生成验证者信息与密钥对
./ika validator make-validator-info "My Validator" "Description" "https://example.com/image.png" "https://example.com" "ika-mainnet-1.example.com" 10000# 将生成:protocol.key、network.key、consensus.key、root-seed.key、validator.info
至关重要:请务必备份所有生成的密钥。其中 root-seed.key 是**机密且不可替代**的;一旦丢失,无法通过合约更新。其余密钥(protocol、network、consensus)可在链上轮换。
步骤 3:注册为验证者候选人
./ika validator become-candidate ./validator.info # 返回:Validator ID、Validator Cap ID、Validator Operation Cap ID 和 Validator Commission Cap ID
步骤 4:向验证者质押 IKA
请通过以下链接完成至少 4000 万 IKA 的质押:https://ika-mainnet-validators-staking.pages.dev/
请确认您的 Validator ID 与 CLI 输出一致。
步骤 5:加入委员会
./ika validator join-committee --validator-cap-id
您将成为待定验证者,并于下一个 epoch 正式加入委员会。
步骤 6:运行验证者节点
目录结构示例:
/opt/ika/
├── bin/ika-node
├── config/validator.yaml
├── key-pairs/
│ ├── protocol.key
│ ├── network.key
│ ├── consensus.key
│ └── root-seed.key
└── db/ # 运行时自动创建
├── authorities_db/
└── consensus_db/
启动前,请编辑 validator.yaml 文件:
- 将
ika-dwallet-coordinator-object-id设置为deployed_contracts/mainnet/address.yaml中对应值 - 确认配置项:
sui-chain-identifier: mainnet - 配置指标推送地址:
push-url: "https://mainnet.metrics.ika-network.net:8443/publish/metrics"
ika-node --config-path /opt/ika/config/validator.yaml
日志输出:可通过设置 RUST_LOG 控制日志级别,设置 RUST_LOG_JSON=1 启用 JSON 格式日志输出。
步骤 7:验证运行状态
等待数分钟后,检查日志中是否出现如下内容:
ika_core::checkpoints: Creating checkpoint(s) for 0 messages next_checkpoint_seq=1
该日志表明节点已正常运行。其余检查点仅在 MPC 会话期间或之后生成。
Package 与 Object ID
请始终从代码仓库中的权威源文件获取最新 ID:
- 主网:
deployed_contracts/mainnet/address.yaml(GitHub) - 测试网:
deployed_contracts/testnet/address.yaml(GitHub)
密钥对
| 密钥名称 | 类型 | 用途 | 被哪些节点使用 | 是否可恢复? |
|---|---|---|---|---|
protocol-key-pair |
AuthorityKeyPair | 协议签名 | 全部节点 | 是(支持链上轮换) |
consensus-key-pair |
Ed25519 | 共识通信 | 全部节点 | 是(支持链上轮换) |
network-key-pair |
Ed25519 | P2P 网络通信 | 全部节点 | 是(支持链上轮换) |
account-key-pair |
SuiKeyPair | Sui 交互操作 | 全部节点 | 是 |
root-seed-key-pair |
RootSeed | MPC 密码学运算 | 验证者 | 否 — 不可替代 |
notifier-client-key-pair |
SuiKeyPair | 向 Sui 提交检查点 | 通知器 | 是 |
验证者核心配置要点
# 主网验证者必须包含: sui-connector-config: sui-chain-identifier: mainnet sui-rpc-url: 'http://:9000' # 所有 ID 均需从 deployed_contracts/mainnet/address.yaml 获取 ika-package-id: ' ' ika-dwallet-coordinator-object-id: ' ' # ... 其他 package/object ID consensus-config: # 存在该配置项即触发验证者模式 db-path: '/opt/ika/consensus_db' db-retention-epochs: 0 db-pruner-period-secs: 3600 max-pending-transactions: 20000 root-seed-key-pair: path: /opt/ika/key-pairs/root-seed.key metrics: push-url: "https://mainnet.metrics.ika-network.net:8443/publish/metrics"
管理 API(仅限 localhost)
curl http://127.0.0.1:1337/logging # 查看日志过滤器 curl -X POST 'http://127.0.0.1:1337/enable-tracing?filter=debug&duration=10s' curl -X POST http://127.0.0.1:1337/reset-tracing # 恢复为环境变量设定值 curl http://127.0.0.1:1337/node-config # 查看配置(密钥字段已屏蔽) curl http://127.0.0.1:1337/capabilities # 查看节点能力
环境变量
| 变量名 | 用途 | 默认值 |
|---|---|---|
IKA_CONFIG_DIR |
覆盖默认配置目录路径 | ~/.ika/ika_config/ |
RUST_LOG |
日志级别过滤器 | — |
RUST_LOG_JSON |
启用 JSON 格式日志输出(设为 1 即启用) |
— |
TRACE_FILTER |
追踪日志过滤器 | — |
各节点类型所启用的服务
| 服务名称 | Validator | Fullnode | Notifier |
|---|---|---|---|
| AuthorityState | Y | Y | Y |
| ConsensusManager | Y | — | — |
| DWalletMPCService | Y | — | — |
| SuiConnectorService | Y | Y | Y |
| CheckpointServices | Y | Y | Y |
| P2P + StateSync | Y | Y | Y |
| Discovery | Y | Y | Y |
关键运维注意事项
- 必须使用发布模式构建:涉及密码学操作时,务必使用
--release参数构建 - 必须运行自有 Sui 全节点:需自行部署并确保其已完全同步(至少同步至最近两个 epoch)
- Package ID 必须严格匹配:配置文件中指定的合约 ID 必须与实际已部署合约一致
- 最低质押要求:需质押至少 4000 万 IKA 才能加入委员会
- 根种子密钥至关重要:请安全备份
root-seed.key;该密钥无法重新生成,亦不支持链上轮换 - 关注版本更新:请持续关注
#nodes-updates-mainnet频道以获取新版本发布信息 - 灾难恢复机制:可使用
--run-with-range-epoch或--run-with-range-checkpoint参数执行恢复 - 检查点固定(Checkpoint Pinning):在 state-sync 配置中使用
pinned-dwallet-checkpoints支持分叉恢复 - 优雅关闭:发送
SIGTERM或SIGINT信号实现安全退出
热门AI工具
相关专题
本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。
0
2026.10.22
本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。
0
2026.10.22
本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。
0
2026.10.22
本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。
0
2026.10.22
本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。
0
2026.10.22
本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。
0
2026.10.22
本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。
0
2026.10.22
PHP2Shell漏洞是什么,哪些PHP版本和运行环境会受到影响,服务器应该如何检测与修复?本专题提供版本自查脚本、Linux与Docker升级命令、PHP-FPM和Apache排查步骤,以及修复验证、临时缓解和应急响应方案。
0
2026.10.22
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.5万人学习
共6课时 | 54.7万人学习
最新文章
