# cmeos **Repository Path**: CMCC-IT/cmeos ## Basic Information - **Project Name**: cmeos - **Description**: 中移链是中国移动自主研发的区块链网络技术产品。其核心架构是基于第三代区块链技术EOS改造推出的具有自主知识产权的CMEOS,性能稳定,功能强大,满足国家信创标准,符合国家监管要求,是国内技术领先的企业级区块链服务品牌。 - **Primary Language**: C++ - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 7 - **Forks**: 0 - **Created**: 2023-06-07 - **Last Updated**: 2025-06-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 中移链CMEOS ## 概述 中移链是中国移动自主研发的区块链网络技术产品。其核心架构是基于第三代区块链技术EOS改造推出的具有自主知识产权的CMEOS,性能稳定,功能强大,满足国家信创标准,符合国家监管要求,是国内技术领先的企业级区块链服务品牌。为方便用户部署、使用和运维中移链网络,中国移动推出中移链CMBaaS服务平台,配套低代码平台、在线IDE等能力组件,一站式解决区块链网络接入、应用开发与部署、链资源管理、底链运维监管等问题,同时提供DDC能力等丰富的智能合约,降低用户的使用门槛。在提供区块链底层技术服务的基础上,中移链CMBaaS平台完成了长安链、Fabric等多链适配,支持通过Poly中继链平台实现链上数字资产的跨链转移和海外以太坊公链的单向跨链,适用于多链并存和国际贸易等复杂业务场景。 ## 架构 中移链通过技术融合创新和多底层框架托管构建跨链互通、安全稳定的区块链底层网络,即可满足开发者需求又可以根据不同政企需求,灵活定制软件,一键安装,实现业务快速上链。同时,借助自有多场景解决方案赋能客户,出具解决方案。 ![输入图片说明](images/image.png) ### 数据持久化插件 本框架提供一种基于线程安全的信号槽机制,使用线程推送来监听数据,实现了无侵入、可插拔的emitter插件。开发者可以根据自身需求选择接受和处理数据,提高开发效率。插件在区块组装时可预先接收和处理数据,支持可插拔和可选择的服务。Emitter插件通过信号槽监听chain插件,提供block和transaction信号槽。在处理数据时,对其进行合理性检查和标记类型,同时进行格式化和转发。客户端选择需要监听的信号,触发事件,得到信号槽内数据,进行后续开发工作。针对replay时可能出现的大量数据读写操作,本方案引入了chain的database和自建的queue配合锁来保证数据的正确性。所得到的数据及时消费,但并不进行持久化,具体区块和交易数据持久化以及服务能力将由链下数据持久化服务框架提供。 ### JavaScript合约引擎 JavaScript合约引擎使用Google V8、EOS原生 VM和JavaScript VM开发JavaScript智能合约引擎,实现JavaScript智能合约的编译、部署和调用,并且对原生WASM合约调用流程无侵入。运行沙箱、合约运行超时管理、禁用随机函数和全局函数、优化缓冲区等设计可以确保合约内容的逻辑性和无随机性。JavaScript合约引擎提供了JavaScript合约打包工具,可直接用于部署,同时提供统一日志输出组件方便调试。该引擎支持WASM合约内部方法,可以对EOS原生数据库进行操作,底层使用C++开发,具有安全、稳定、高效的特点。 ### 适配BSN开放联盟链改造 #### 节点准入管理 中移链在区块链网络启动时,改造为TLS连接,同时使用证书启动节点,在其他节点加入时,校验证书是否为同一机构颁发的有效证书。同时节点准入管理构建安全组合约,基于合约层进一步控制节点接入和断开的管理。并基于证书实现节点准入,通过安全组合约管理接入节点,可以通过合约移除节点,禁止接入。 #### 系统合约权限设计 中移链在系统合约中增加用户权限表,对系统合约中的新建链账户、资源购买和赎回、选举共识节点等重要操作进行管控,只允许用户权限表中对应的管理员进行操作,比如新建链账户操作,只允许链账户管理员操作,资源购买和赎回,只允许资源管理员操作。 #### 点对点转账控制 为符合监管政策,中移链对系统合约进行改造,只允许与管理员直接的转账,不允许普通用户直接的直接转账操作。 #### 链账户和智能合约黑名单 在系统合约中增加黑名单权限表,对链账户和智能合约进行管控,加入黑名单权限表的链账户,不允许发起任何交易,加入黑名单权限表的智能合约,不允许任何加入黑名单权限表的智能合约,不能被任何其他链账户调用。 #### 资源消耗经济模型 中移链对token具有管控,无法像公链上那样进行流转,基于国内监管和联盟链要求,创造性的对资源加上有效期,形成资源消耗型的经济模型。 ### 节点可用性 #### 节点备份 节点备份服务提供了配置服务,可以对备份时间和备份数量进行设定。在指定时间,组件会启动节点并停止,对节点数据进行备份打包。此外,组件还提供下载功能,备份下载列表中展示备份日期和备份下载路径,用户可以点击下载路径,下载备份文件。 #### 节点健康检查 为了监控节点信息,节点健康检查组件可以依据以下指标进行判断:当前时间和最新出块时间的对比、最新出块时间和不可逆块时间的对比,以及节点启动运行出现脏数据库。此外,我们还可以配置通知地址,通过对监控指标的观察能够预测可能出现的问题,并及时将节点状态信息通知到外部。 #### 节点故障恢复 节点故障恢复将根据节点健康检查结果尝试自动恢复节点。 ### POA共识 CMEOS的数字货币模型是微通胀模型,用户可能通过抵押投票获取数字货币分红,从而威胁全网共识安全。为了灵活安全地管理CMEOS网络,我们新增了权威证明共识(POA)。新增后,任意用户都可以申请成为出块节点或放弃出块节点身份。申请后,现有出块节点会对提案进行投票,如果某个提案获得大约 2/3 的出块节点总数的投票,则该用户可以成为出块节点或放弃区块节点身份。如果经过48小时后投票数依然不足2/3,则无法继续进行投票,任何用户都可以进行取消投票的操作。 ## 优势 ### 多引擎支持 集成中移链、长安链·ChainMaker、Hyperledger Fabric多种区块链底层引擎,为技术选型提供丰富多样的选择。 ### 端网融合 结合移动超级SIM卡、城市算力中心、物联网能力,具备运营商特色的网络、平台、应用一体化服务体系。 ### 自主可信 自主研发区块链BaaS平台,全面适配国产化符合信创(支持麒麟、中科等国产服务器、国产操作系统、国密+国际算法),央企背书,技术支撑全程维护,企业可信有保障。 ### 高性价比 业务快速上链,为各类应用提供服务接口与SDK快速集成能力;公网服务按需付费,减少使用成本;提供联盟链、IPFS、主机等多维度实时监控服务,节约监控和运维成本;区块链技术专家团队全程倾力支持。 ### 高可靠性 基于DPOS+PBFT 的共识技术秒级共识,目前已实现170亿交易量商用。区块链账本数据的底层存储具备极高的可靠性 (99.999999%),具备区块链节点快照能力,实现节点数据快速恢复。 ### 超强隐私保护 选用Intel SGX芯片级加密技术,利用可信执行环境TEE承担平台密钥存储保护,防止密钥被窃取并破解,实现对区块链密钥高级安全防护。 ## 应用场景 中移链旨在解决跨多主体间高效协作的信任问题,适用于多主体间数据可信流传、数据资产可信存证等各类场景。中移链的应用,可赋能数字化协作网络建设,推进跨主体信任的快速建立和务创新。如在医疗健康方面,可实现多个医疗机构之间数据存证,安全共享,追踪溯源。在可信存证方面,5G随e签区块链存证平台应用于电子数据存证领域,包括文件存证、结构化数据存证等,有效保证电子文件数据可信,高效实现证据采集,固定,应用。 ## 许可协议 CMEOS代码基于EOSIO V2.1.0版本进行修改,遵循Apache2.0开源协议。我们特此声明,用户须自行承担因使用本开源代码而产生的任何问题,包括其中存在的潜在风险,这些风险可能与社区版本一致。 本软件包括第三方开源软件代码,您在CMEOS代码上使用第三方提供的开源技术时,除遵守本协议约定外,还应遵守第三方要求的协议文件。中移动信息技术有限公司不保证通过第三方提供开源技术的安全性、准确性、有效性,也不排除该技术可能引发任何其他不确定风险。由此若引发的任何争议及损害,与中移动信息技术有限公司无关,中移动信息技术有限公司不承担任何责任。中移动信息技术有限公司不对第三方软件或技术提供客服支持,若您需要获取支持,请与第三方联系。 修改物版权:Copyright©2023中移动信息技术有限公司