首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
Shardeum 本地调试网络怎么开启 debug manual mode 并调整 cycleDuration 与 blockProductionRate 参数?
📅 2026/9/18 10:25:52
✍️ 爱科研究院
👁 阅读 3,247
Shardeum 本地调试网络怎么开启 debug manual mode 并调整 cycleDuration 与 blockProductionRate 参数【免费下载链接】shardeumShardeum is an EVM based autoscaling blockchain项目地址: https://gitcode.com/GitHub_Trending/sh/shardeum在本地跑 Shardeum 调试网络时仓库默认配置并不适合小节点数测试src/config/index.ts中server.mode默认为release、cycleDuration默认为 60 秒src/shardeum/shardeumFlags.ts中blockProductionRate默认为 6即每隔 6 秒生成一个新块见该文件中的注释// generate new block every 6s。要得到一个可调试、节奏更快的本地网络需要按 local-environment-setup.md 的 Manual Mode 路径手动修改源码配置、重新编译后再启动网络。这篇文章给出这条完整操作路径以及每一步改完如何确认生效。一、前置环境Node.js、Rust 与项目编译文档要求的环境版本是固定的不满足时先不要继续后面的修改Node.js18.19.1通过 NVM 管理npm10.2.4Rust1.74.1通过 rustup 管理按 local-environment-setup.md 的 Environment Setup 章节安装 NVM 与 Rust 工具链后完成项目初始化git clone https://github.com/shardeum/shardeum.git cd shardeum npm ci npm run preparenpm run prepare等价于执行tsc -p .见 package.json 中scripts.prepare与scripts.compile的定义会把src/编译到dist/。这一点很重要每次修改下面两个源文件后都必须重新执行它否则节点进程跑的还是旧代码。另外安装 Shardus CLI用于后续启动网络npm install -g shardeum-foundation/tools-shardus-cli npm update shardeum-foundation/archiver二、开启 debug manual mode修改 src/config/index.tslocal-environment-setup.md 的 Manual Mode 第一步要求在 src/config/index.ts 中配置 Debug Mode。对照源码需要改两处server.p2p.forceBogonFilteringOn默认值为true见 src/config/index.ts改为falseserver.mode默认值为release源码中的注释写着must set this to release for public networks or get security on endpoints. use debug for easier debugging见 src/config/index.ts本地调试网络改为debug。改完后这两段在文件中的形态如下注意它们分属不同的配置层级forceBogonFilteringOn位于server.p2p下mode位于server下// src/config/index.ts, server.p2p 内 forceBogonFilteringOn: false,// src/config/index.ts, Debug settings 合并块内 server: { mode: debug, ... }三、关闭本地测试不需要的校验修改 src/shardeum/shardeumFlags.tsManual Mode 第二步要求修改 src/shardeum/shardeumFlags.ts 中的两个 flags这两个 flag 默认都是开启的txBalancePreCheck: true见 src/shardeum/shardeumFlags.tsStakingEnabled: true见 src/shardeum/shardeumFlags.ts本地测试时都要关掉// src/shardeum/shardeumFlags.ts txBalancePreCheck: false, StakingEnabled: false四、调整 cycleDuration 与 blockProductionRate第三步是文档给出的本地测试节奏参数同样分属两个文件// src/config/index.ts cycleDuration: 30, server/features/tickets/updateTicketListTimeInMs: 300000// src/shardeum/shardeumFlags.ts blockProductionRate: 3,对照源码中的默认值含义就是把这些默认节奏调快或调短参数所在文件源码默认值文档建议值cycleDurationsrc/config/index.ts6030updateTicketListTimeInMssrc/config/index.ts600000300000blockProductionRatesrc/shardeum/shardeumFlags.ts63cycleDuration位于server.p2p配置块内updateTicketListTimeInMs位于server.features.tickets配置块内文档用server/features/tickets/...表示这一路径blockProductionRate是 ShardeumFlags 对象的一个字段注释说明其作用是控制新块生成间隔。五、重新编译并启动网络所有源码修改完成后先重新编译再启动 10 节点网络npm run prepare shardus start 10如果之前改过配置又发现配置不对可以先停止并清理再重来。注意最后一条命令会删除instances目录只应在确认该目录下只有本网络的实例数据时执行shardus stop shardus clean rm -rf instances六、验证网络是否正常运行启动后README.md 的 Health Checks 章节给出了节点诊断端点用于确认进程与网络存活GET /is-alive服务器运行时返回 200GET /is-healthy目前与/is-alive相同后续会扩展。如果/is-alive不返回 200说明节点进程没有正常运行回到第五节检查npm run prepare是否在最后一次改码之后执行过——这是这条路径上最容易漏的一步。限制与说明仓库 README.md 的 Installation 章节还提到另一种方式通过环境变量export LOAD_JSON_CONFIGS本地仓库绝对路径/debug-10-nodes.config.json加载 debug-10-nodes.config.json其中已含mode: debug和updateTicketListTimeInMs: 300000。local-environment-setup.md 的 Automatic Mode 则写的是git apply debug-10-nodes.patch但该 patch 文件并不在当前仓库中本文以 Manual Mode 的源码修改路径为准。local-environment-setup.md 中 Manual Mode 的示例代码块使用了 bash 围栏实际修改的是 TypeScript 源文件本文已按源码上下文还原到正确位置。修改src/config/index.ts中的devPublicKeys/multisigKeys与本文任务无关保持原样即可。【免费下载链接】shardeumShardeum is an EVM based autoscaling blockchain项目地址: https://gitcode.com/GitHub_Trending/sh/shardeum创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/9/18 8:38:58
MicroPython块设备实战:SPI Flash挂载FAT文件系统
2026/9/18 13:17:44
告别EasyExcel:基于Apache POI的Excel底层解析实践
2026/9/18 7:55:29
源码快照评估法:GPU加速机器学习库cuML选型实战指南
2026/9/18 21:27:02
Cline 在 VS Code 里怎么改模型通道,让 Key 走 TaoToken
2026/9/18 21:27:02
电动汽车充电站规划:从需求预测到选址定容的技术实践
2026/9/18 21:27:02
青龙面板部署京东自动评价返京豆脚本完整教程
2026/9/18 21:27:02
将补丁验证 Agent 的 Key 切到 TaoToken:FLAWED 复现
2026/9/18 21:27:02
PyCharm远程调用GPU训练:本地编辑+远程算力一体化方案
2026/9/18 21:22:01
OpenMed 多语言临床概念接地资源:CC0 映射表、load_crosswalk 加载机制与纯离线 Grounding 实践
2026/9/18 0:04:47
AReaL 调试指南:从 Agent Workflow 验证到分布式训练死锁诊断
2026/9/18 0:04:47
MATLAB实现GPS L1 C/A信号仿真与二维捕获验证
2026/9/18 0:04:47
彻底搞懂ASCII、Unicode与UTF-8:从乱码根源到编码实战
2026/9/18 16:05:49
拯救者Y7000黑屏故障排查与维修实战指南
2026/9/18 3:56:12
AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验
2026/9/18 13:25:13
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化