Shardeum 网络升级指南:硬分叉与软分叉如何安全完成
Shardeum 网络升级指南硬分叉与软分叉如何安全完成【免费下载链接】shardeumShardeum is an EVM based autoscaling blockchain项目地址: https://gitcode.com/GitHub_Trending/sh/shardeumShardeum 是一个基于 EVM 的自动扩容区块链autoscaling blockchain。它的网络升级不依赖停机维护而是通过链上网络账户Network Account中的三个版本号——minVersion、activeVersion、latestVersion——配合软分叉参数变更与硬分叉节点版本切换机制让数千个节点平滑完成升级。本文将用通俗的方式带你完整看懂 Shardeum 网络升级的处理流程。Shardeum 网络升级硬分叉 vs 软分叉速览在区块链语境下两者在 Shardeum 中的区别非常直观类型Shardeum 中的表现是否需要换节点软件 软分叉Soft Fork修改网络参数/配置奖励、罚没、开关等通过ChangeNetworkParam/ChangeConfig交易生效否⚙️ 硬分叉Hard Fork节点软件版本升级activeVersion切换后自动执行数据迁移是一个很好的记忆方式是软分叉改规则硬分叉换引擎两者都由同一个网络账户统一驱动。网络账户驱动升级的总开关Shardeum 全网共享一个特殊账户账户 ID 以0000开头即网络账户它保存着全网的网络参数包括三个版本号minVersion最低允许版本、activeVersion当前生效版本、latestVersion最新允许版本归档服务版本archiver子对象同样是三版本号质押要求、节点奖励与罚没、txPause开关等业务参数类型定义可参考 shardeumTypes.ts。上图验证者运行节点调试/升级脚本的终端过程是理解节点侧版本操作的一个入口。软分叉配置与参数变更如何生效 Shardeum 的软分叉走的是先排期、后应用的两步内部交易模型排期Change基金会通过多签Multisig提交ChangeConfig或ChangeNetworkParam交易指定某个未来周期cycle执行变更应用Apply到了指定周期网络自动执行对应的ApplyChangeConfig/ApplyNetworkParam把变更合并进网络账户。这两类交易都属于全局内部交易会被打上 global 消息标记参与共识见 isInternalTXGlobal。而发起变更本身必须通过多签验证最少签名数 安全等级校验实现于 verifyMultiSigs确保没有单一节点能擅自改参。核心应用逻辑在 applyInternalTx 中ChangeConfig分支L2929会计算变更周期并推入listOfChanges队列ApplyChangeConfig分支L3012真正把变更写入网络账户。网络参数变更ChangeNetworkParam的处理类似见 ChangeNetworkParam 分支。变更队列的自动修剪网络账户的listOfChanges会持续膨胀Shardeum 通过 pruneNetworkChangeQueue 定期清理超出保留周期数configChangeMaxCyclesToKeep且重复出现次数超过上限的旧变更会被移除保证账户状态精简。硬分叉节点版本切换的完整流程 ⚙️第一步版本号三道关卡每个节点在启动、加入网络或留在待机列表时都要用自己的软件版本去比对网络账户的三版本号版本 minVersion→太旧节点直接退出并提示请安装 latestVersion版本 latestVersion→太新同样被拒防止跑在超前代码上处于[minVersion, latestVersion]区间内 → 允许加入。这三道关卡分别实现在节点自检isReadyToJoin 版本校验入网请求校验validateJoinRequest待机节点资格canStayOnStandby这也解释了 Shardeum 升级的窗口期设计先把latestVersion提到新版本让新节点进网再把minVersion提到新版本把旧节点请下线整个过程无需停链。第二步activeVersion 切换触发数据迁移当网络账户的activeVersion字段被更新时patchAndUpdate 会监听到该键变化并调用 onActiveVersionChange——这就是硬分叉的执行器遍历预注册的迁移列表[1.9.1, 1.10.2, 1.11.2, 1.11.3, 1.15.4, 1.16.3]仅对不低于新activeVersion的迁移执行migrate()用appliedMigrations集合保证每个迁移只执行一次迁移失败会记录migration-failed事件计数便于监控告警。迁移函数是一个简单的异步约定Promisevoid定义见 versioning/types.ts。历史迁移一览表仓库保留了 6 个真实迁移正好展示一个版本一次开关的模式迁移版本做了什么源码位置1.9.1启用待机列表快速哈希计算1.9.1.ts1.10.2启用过期交易状态修复1.10.2.ts1.11.2启用陈旧状态清理cleanStaleShardeumStateMap1.11.2.ts1.11.3关闭 1.11.2 的一次性 beta 开关1.11.3.ts1.15.4启用 syncFloor 与 activeRecovery 机制1.15.4.ts1.16.3启用 dropNGTByGossip 数据清理1.16.3.ts注意每条迁移文件末尾的警告注释新增迁移文件后必须把版本号登记到 versioning/index.ts 的 migrations 列表否则永远不会被执行。验证者视角一次典型升级要做什么 ️对节点运营者来说升级体验被压缩到三步观察公告网络latestVersion已指向新版本可通过节点信息接口查看见 getNodeInfoAppData 返回的三版本号更新软件升级到新版本并重启此时节点以新软件等待入网或留在待机列表等待 minVersion 提升旧版本节点被网络温柔地请退场shutdown 并提示安装目标版本新版本节点全部转正activeVersion切换触发迁移升级完成。验证者还可通过调试脚本定位问题配套说明见 shardeumValidatorDebuggingScript/README.md。延伸阅读关键文件地图 升级执行器src/versioning/index.ts历史迁移目录src/versioning/migrations/创世网络参数含初始三版本号initialNetworkParameters.ts内部交易类型枚举ChangeConfig / ApplyChangeConfig 等InternalTXType配置变更交易结构ChangeConfig多签验证与全局交易判定setup/helpers.ts网络参数 AJV 校验模式ApplyChangeConfigTxSchema.ts小结Shardeum 的升级哲学可以总结为一句话用链上账户做时钟用版本号做闸门用迁移脚本做切换。软分叉通过排期 应用两步内部交易安全改参硬分叉则借助三版本号的窗口期完成节点换血并在activeVersion翻转的瞬间自动跑完一次性迁移——全程无停机、无脑裂这正是它作为自动扩容 EVM 公链能持续演进的关键。【免费下载链接】shardeumShardeum is an EVM based autoscaling blockchain项目地址: https://gitcode.com/GitHub_Trending/sh/shardeum创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

多语言食堂供餐系统实战:Java/JS/Python/C实现对比与避坑指南

多语言食堂供餐系统实战:Java/JS/Python/C实现对比与避坑指南

这道题我在实训平台上刷到过不止一次,新卷、满分100分、食堂供餐,四个语言一起上。第一次看到“Java & JS & Python & C”这个组合的时候,我心想这不就是同一个业务用四种语言各写一遍吗,能有多难。真正动手才发现&am…

2026/10/11 9:06:46 阅读更多 →
基于Spark和Hive的地震数据分析与预测系统

基于Spark和Hive的地震数据分析与预测系统

1. 这个课题到底值不值得做:先看清楚里面的门道每年毕业季前后,后台总能看到一批类似"地震预测系统""大数据毕业设计"的热搜词。说实话,这类题目在计算机毕设里属于一眼能看出价值、但很多人做一半就放弃的类型。原因无外…

2026/10/11 9:06:46 阅读更多 →
2026论文AI工具终极排名⚡定稿/盲审/答辩保命版!别再用错翻车

2026论文AI工具终极排名⚡定稿/盲审/答辩保命版!别再用错翻车

2026届注意!!现在AI论文工具不是谁好用就用谁,是谁安全用谁😭今年高校严查:AIGC标记、文献造假、逻辑漏洞、模板化严重、前后内容矛盾。很多同学初稿写得很好,最后栽在「工具选错」上!不吹不黑、…

2026/10/11 9:06:46 阅读更多 →

最新新闻

XSnow缓存策略完全指南:5种缓存策略如何让你的数据加载快人一步?

XSnow缓存策略完全指南:5种缓存策略如何让你的数据加载快人一步?

【免费下载链接】XSnow 💮基于RxJava2Retrofit2精心打造的Android基础框架,包含网络、上传、下载、缓存、事件总线、权限管理、数据库、图片加载,基本都是项目中必用功能,每个模块充分解耦,可自由拓展。 项目地址&…

2026/10/11 10:00:56 阅读更多 →
数字识别数据集:1000张图与VOC/COCO/YOLO标签格式转换及YOLO训练

数字识别数据集:1000张图与VOC/COCO/YOLO标签格式转换及YOLO训练

简介:这份资源面向计算机视觉入门与目标检测实践者,提供一套真实场景下的YOLO数字识别数据集,可用于训练和验证数字检测模型,适合课程设计、算法练手及小目标检测实验。压缩包共约2000个文件,整体14.07MB,包…

2026/10/11 10:00:56 阅读更多 →
YOLO烟盒数据集实战:从解压到训练全流程解析

YOLO烟盒数据集实战:从解压到训练全流程解析

简介:这份数据集面向YOLO系列算法目标检测场景,聚焦烟盒识别任务。压缩包内共有七百零三个文件,其中二百三十四张JPEG原图,每张均同时提供YOLO格式的TXT标签与VOC格式的XML标签,另含一份data.yaml配置文件。TXT标签存储…

2026/10/11 10:00:56 阅读更多 →
Claude提示词工程:结构化设计与可压测的实践方法论

Claude提示词工程:结构化设计与可压测的实践方法论

简介:本资源是一份面向AI提示工程学习者与Claude深度使用者的「加强版Claude提示词」实践指南,聚焦于提升模型响应质量的核心思考机制设计。它系统阐述了Claude必须遵循的无过滤、流式化、自适应的内在思考协议,涵盖思考触发条件、thinking代…

2026/10/11 10:00:56 阅读更多 →
SQLite 3.6.22 数据库快照解析与兼容性迁移指南

SQLite 3.6.22 数据库快照解析与兼容性迁移指南

简介:本资源为Oracle 10g R2(10.2.0.4)在Windows Vista/Server 2008 x64平台的生产级数据库部署包,面向DBA、企业级数据库运维工程师及Oracle高可用环境实践者,解决64位Windows环境下Oracle数据库实例初始化、参数配置…

2026/10/11 10:00:56 阅读更多 →
OpenBMC RAID管理模块:从底层驱动到Redfish全栈拆解

OpenBMC RAID管理模块:从底层驱动到Redfish全栈拆解

服务器运维圈子里聊 RAID,大家先入为主的印象往往是开机自检时按快捷键进的那套 RAID 配置界面,或者是操作系统里装个 storcli 敲命令行。但真正要在云端或数据中心做大规模带外管理时,RAID 的命脉其实握在 BMC 手里——OpenBMC 这个开源固件…

2026/10/11 9:59:56 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

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

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

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

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

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

2026/10/10 10:38:42 阅读更多 →