MO NAN

Results 21 issues of MO NAN

- Add tars protocol depend for bcos-sdk sample - Update build_chain to support lightnode - Move merkle into bcos-crypto - Replace merkle calculate in blockImpl.cpp - Change transaction receipt blcok...

# WeCross improvement proposals 跨链是区块链行业的前沿课题,业界对跨链的定义和设计都有很多不同的理解。跨链的场景、跨链的网络架构、跨链的交互逻辑,都有大量的研究和讨论。基于这个现状,WeCross团队不局限于自己探索和解决所有跨链的问题,而是将已知或可能存在的场景和需求,以CIP(WeCross Improvement Proposals)的形式提出解决方案,邀请广大区块链从业者和用户共同参与方案的规划,一起讨论和完善方案的设计,由WeCross团队采纳,最终合作完成WeCross功能的实现。 浏览CIP:https://github.com/WeBankFinTech/WeCross/labels/CIP ## CIP构成 CIP的描述应该简洁精炼,围绕着目标进行,包含以下要素: - 功能简介:简述该CIP提出的背景、预期要解决的问题和使用的场景,发起CIP提案时,该章节为必填 - 模块架构:CIP涉及哪些全新模块和已有模块的修改、各模块之间的联系、逻辑架构图,如果该CIP提案涉及网络、互联逻辑还应提供系统架构图和网络架构图 - 功能列表:总体的功能列表,各模块的功能列表 - 接口设计:各模块功能接口的名称、入参、出参和逻辑概要描述 - 协议设计:如果该CIP提案涉及网络、互联逻辑,提供网络通信协议的流程和字段设计 - 数据结构:如果该CIP提案涉及数据落盘存储,提供数据存储的数据结构设计 - 时序图:主要模块功能的流程时序图 - 兼容性:与旧版本WeCross、已搭建的WeCross跨链网络的兼容性分析 - 安全分析:跨链数据、账户、资产和通信的安全性分析 ##...

CIP
CIP Proposal

# 两阶段事务 ## 功能简介 两阶段事务是一种原子性的分布式事务算法,在数据库和分布式系统等领域的应用非常广泛,两阶段事务用于应对分布式系统可能遇到的网络故障、宕机、程序异常和断电等故障。区块链跨链网络中,多个相互联通的区块链构成了一个更大规模的分布式系统,这意味着有更多的网络连接和更多故障的可能性,因此两阶段事务对于跨链同样具有很大的意义。 ## 模块架构 与传统分布式系统的两阶段事务一样,用于跨链的两阶段事务的逻辑架构中一样有事务管理器(Transaction Manager)和资源管理器(Resource Manager)两种角色,其中,事务管理器以事务为维度管理事务的进度和状态,资源管理器以资源为维度管理参与事务资源的状态。 ![图片](https://user-images.githubusercontent.com/12828840/82293553-53265800-99df-11ea-90f9-60ddf8845ee7.png) WeCross中,事务管理器和资源管理器均由智能合约或链码(Fabric,后统称为智能合约)来实现,物理架构根据是否有治理链,分两种情况: 无治理链的架构 ![图片](https://user-images.githubusercontent.com/12828840/82294051-14dd6880-99e0-11ea-8822-b6efaf2b6ff0.png) 有治理链的架构 ![图片](https://user-images.githubusercontent.com/12828840/82294081-245cb180-99e0-11ea-9d57-e556832573e0.png) ## 功能列表 分析一个标准的两阶段事务,分成功和失败两种场景。 成功场景: ![图片](https://user-images.githubusercontent.com/12828840/82294548-e7dd8580-99e0-11ea-991e-debfed5021d5.png) 失败场景: ![图片](https://user-images.githubusercontent.com/12828840/82294559-ed3ad000-99e0-11ea-96ad-380db52373dd.png) 可见,两阶段事务包含以下核心功能: - 事务管理:查看当前所有事务的状态,筛选进行中、成功或失败的事务 - 事务发起:指定参与事务的资源,并发起一次事务操作,返回事务ID - 事务提交:根据事务ID,结束某个事务,并解除该事务中所有资源的锁定...

CIP
CIP Proposal

When building the cryptoTools without span-lite, i got error: > In included file: no type named 'const_iterator' in 'std::span'clang(typename_nested_not_found) > [MatrixView.h(16, 32): ]()Error occurred here > [Matrix.h(16, 27): ]()In instantiation...

Add pipeline serial scheduler

Add features desc

tars的大量头文件中使用了using namespace std,tars2cpp生成的头文件也不例外 不仅仅是std,有些地方还using namespace tup 目前只要包含了这些头文件,就会导致部分项目编译失败 希望能去掉tars源码中所有的using namespace,tarscpp增加一个生成选项,允许生成不带using namespace的头文件代码

Add exception caught

MemoryStorage support concurrent range op