Shardeum 本地调试网络怎么开启 debug manual mode 并调整 cycleDuration 与 blockProductionRate 参数?

发布时间:2026/9/12 14:00:38

Shardeum 本地调试网络怎么开启 debug manual mode 并调整 cycleDuration 与 blockProductionRate 参数? 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),仅供参考
延伸阅读

更多相关文章

2026/9/12 14:00:38

MicroPython块设备实战:SPI Flash挂载FAT文件系统

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/12 14:00:38

告别EasyExcel:基于Apache POI的Excel底层解析实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/12 14:00:38

源码快照评估法:GPU加速机器学习库cuML选型实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/12 15:05:46

AI全栈应用开发实战:从架构设计到工程落地的完整指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/12 15:05:46

SpringBoot社工服务管理系统开发实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/12 15:05:46

Multi-Agent系统设计本质:Sub-Agent与状态契约

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/12 15:05:46

Jetson Orin Nano Super边缘AI部署实战:从TensorRT加速到实体AI闭环

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/12 15:05:46

Flutter鸿蒙适配:system_settings库的跨平台兼容方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/12 15:00:46

三自由度机械臂自适应神经网络控制实战

1. 三自由度机械臂控制的核心挑战三自由度机械臂作为工业自动化领域的经典研究对象,其控制问题看似简单却暗藏玄机。我在实际项目中遇到过这样一个案例:当机械臂需要完成高速拾放作业时,传统PID控制器在空载状态下表现良好,但一旦…

2026/9/12 2:05:33

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊!#雷神 #复联”这类调侃式短标题,第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里,但细想一下就能发现,它真正碰到的根本不是…

2026/9/12 3:55:12

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊,可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”,你会发现,这场比较本质上是两个不同 IP 策略的长期结果对比:超人赢在定义了整个超级英雄题材…

2026/9/12 10:09:03

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介:本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案,聚焦调制信号自动检测与识别这一典型无线通信任务,解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件(10.73MB)&…

2026/9/12 0:04:17

MATLAB仿生优化框架:长鼻浣熊算法多策略融合实现

简介:本资源是一份面向智能优化算法研究者与MATLAB初学者的仿生智能算法实践代码包,聚焦于长鼻浣熊优化算法(COA)的多策略改进与性能验证。针对传统COA易陷局部最优、收敛精度不足等问题,作者融合Circle映射初始化提升…

2026/9/12 0:04:17

【JAVA毕设源码分享】基于 JavaWeb 的校园一卡通管理系统的设计与实现 基于 JavaWeb 的校园卡业务管理系统(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/9/12 0:04:17

【JAVA毕设源码分享】基于 Java 的图书馆借阅管理平台的搭建与实现 基于 Java 的图书馆综合管理系统(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/9/12 6:29:36

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/12 14:32:17

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/12 6:37:43

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码