Chain33开发者平台,是一个易上手、高性能、稳定、安全的区块链底层系统,可供开发公链、联盟链及私链,并在业内首创平行链架构及模块化体系。 因此,Chain33研发立项之初,便坚持自主研发创新,致力于打造一款微内核、高兼容、模块化部署、安全且性能优异的区块链底层开发系统。 终于经过5年的潜心研发,杭州复杂美科技有限公司打造了chain33区块链开发者平台,并与2018年11月19日,复杂美的核心区块链技术Chain 33正式开源,并成为业内首个提出平行链架构并实现的区块链解决方案 Chain33技术特色: 模块化设计,轻松部署区块链:Chain33采用模块化设计,提供超过十种以上的模组化功能,开发者可自由组合应用,开发简易,仅需基础的编程能力,即可打造一条区块链,无需耗费大量成本自己开发区块链底层 ; 高兼容性,应用无碍移植:Chain33的兼容性极高,无论是大型或是小型应用,皆可以无碍在Chain33上开发; 可修改内核,共识可插拔,满足你的每一个需求:不同于其他区块链大多只能开发DApp,
高度模块化,遵循 KISS原则的设计:可插拔,易升级 Chain33的模块化设计,在对区块链的底层架构、应用开发的不同功能和需求进行分析的基础上,划分并设计出一系列功能模块,通过模块的选择和组合可以构成不同的产品 从迭代和重构、以及系统的可拓展性等角度考虑,Chain33将区块链的底层架构、不同应用开发的功能和需求纳入考量,将系统进行了模块化设计。 在Chain33中,为大家提供了共识、加密和储存等多种模块,开发者在Chain33提供的架构下,可自由组合应用,开发简易,因此仅需基础的编程能力,即可打造一条公链,无需耗费大量成本自己开发区块链底层。 公链案例 目前,chain33上已经成功搭建的公链案例包括:比特元区块链网络(BTY),企业级区块链SaaS平台-原链(YCC),Dapp开发者可基于以上公链开发,或自主部署公链、平行链; 联盟链、私链案例 各类商业场景的区块链结合 Chain33的性能已证明足以支持商业级应用,包括供应链金融、仓单交易、票据撮合系统等,并可应用在多种产业,如:制造业、物流业、金融业等,不同的产业可在不同的平行链上开发公链,
腾讯云618采购季:2核2G云服务器爆品秒杀低至18元!云产品首单0.8折起,企业用户购买域名1元起,还可一键领取6188元代金券,购后抽奖,iPhone、iPad等你拿!
关键特性 3.1 性能提升 为提升系统整体性能,chain33从以下几方面来进行了优化 共识流程的优化(联盟链) chain33联盟链引入了聚合签名的技术来降低共识过程中的消息通信,通过leader去收集签名 3.3 区块链交互易用性 chain33引入命令行工具、区块链浏览器、多语言SDK等来提升系统的易用性 区块链浏览器 JAVA-SDK GOLANG-SDK PYTHON-SDK PHP-SDK 4.chain33 共识机制可插拔 Chain33兼容多种共识机制,包括 RAFT、PBFT、POS、DPOS 等主流共识,也包括 SPOS、POS33 等自主研发共识机制,插拔不同的共识算法,可快速搭建私链、联盟链、公链 在 Chain33中,主链不仅仅提供管理所有的平行链的功能,还提供了平行链消息存储的功能,通过主链数据的分片,以及高性能的共识算法,兼顾了链本身的安全性以及系统的可扩展性。 高效存储 支持业务层快速调用区块链系统数据,如存证系统:底层建设的区块链数据,可以以ES数据库进行方便检索、个性化检索等。
关键特性 3.1 性能提升 为提升系统整体性能,chain33从以下几方面来进行了优化 共识流程的优化(联盟链)chain33联盟链引入了聚合签名的技术来降低共识过程中的消息通信,通过leader去收集签名 3.3 区块链交互易用性 chain33引入命令行工具、区块链浏览器、多语言SDK等来提升系统的易用性 区块链浏览器 JAVA-SDK GOLANG-SDK PYTHON-SDK PHP-SDK 4.chain33 共识机制可插拔Chain33兼容多种共识机制,包括 RAFT、PBFT、POS、DPOS 等主流共识,也包括 SPOS、POS33 等自主研发共识机制,插拔不同的共识算法,可快速搭建私链、联盟链、公链、 在 Chain33中,主链不仅仅提供管理所有的平行链的功能,还提供了平行链消息存储的功能,通过主链数据的分片,以及高性能的共识算法,兼顾了链本身的安全性以及系统的可扩展性。 高效存储支持业务层快速调用区块链系统数据,如存证系统:底层建设的区块链数据,可以以ES数据库进行方便检索、个性化检索等。
以此回顾学习《设计模式之禅》的责任链模式。 什么是责任链模式? Chain the receiving objects and pass the request along the chain until an object handles it. public interface Chain { void setNextChain(Chain nextChain); void calculate(Numbers request); { private Chain nextChain; @Override public void setNextChain(Chain nextChain) { = new AddNumbers(); Chain chainCalc2 = new SubNumbers(); Chain chainCalc3 = new MultNumbers
职责链模式的定义: 使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递请求,直到有一个对象处理它为止。 2. UML图 ? Handler:定义职责的接口,通常在这里定义处理请求的方法 ConcreteHandler:实现职责的类,在这个类中,对在它职责范围内请求的处理,如果不处理,就继续转发请求给后继者 Client:职责链的客户端 ,向链上的具体处理对象提交请求,让职责链负责处理 代码: /** * 定义职责对象的接口 */public abstract class Handler { /** * 持有下一个处理请求的对象 研磨设计模式 在标准的职责链中,只要有对象处理了请求,这个请求就到此为止,不再被传递和处理了。 如果要变形使用职责链,就可以让这个请求继续传递,每个职责对象对这个请求进行一定的功能处理,从而形成一个处理请求的功能链。
责任链(Chain Of Responsibility) Intent 使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。 将这些对象连成一条链,并沿着这条链发送该请求,直到有一个对象处理它为止。 Class Diagram Handler:定义处理请求的接口,并且实现后继链(successor) Implementation public abstract class Handler { ConcreteHandler1 request2 is handle by ConcreteHandler2 JDK java.util.logging.Logger#log() Apache Commons Chain
在处理流程相关的业务的时候我们会经常碰到责任链模式的使用,所以对于这种设计模式我们还是应该有所了解的,所以本文就来记录下。 责任链模式 定义 将能够处理同一类请求的对象连成一条链,所提交的请求沿着链传递,链上的对象逐个判断是否有能力处理该请求,如果能则处理,如果不能则传递给链上的下一个对象处理。 添加新的处理对象: 由于责任链的创建完全在客户端,因此新增新的具体处理者对原有类库没有任何影响,只需添加新的类,然后在客户端调用时添加即可。符合开闭原则。 ? 开发中常见的场景: Java中,异常机制就是一种责任链模式。一个try可以对应多个catch,当第一个catch不匹配类型,则自动跳到第二个catch. Servlet开发中,过滤器的链式处理 Struts2中,拦截器的调用也是典型的责任链模式
这一小节我们尝试应用责任链模式。 责任链模式的定义是,当软件中一个处理请求产生时,使多个对象都有机会处理该请求,避免请求的发送者和接收者之间直接的耦合关系。 责任链模式将这些对象连成一条链条,并沿着这条链传递该请求,直到有一个对象处理它为止。 如果AudioManager实例无法处理"playAudio"这个任务,而只是可以访问到Game实例,那么它也可以将这个事件继续派发给它知道的、有可能处理的子对象,这个责任的传递,就是责任链模式的意义。 当然我们这个项目太小,不存在复杂的子系统及子子系统,所以责任链的传播路径看起来非常短。 最后总结一下,在这一小节我们通过创建任务对象Task及子类PlayAudioTask,还有对AudioManager类的改造,完成了一个微型责任链模式的实现。
区块链可信取证(Blockchain Trusted Obtain Evidence)为您提供实时、高效、可信的在线取证、固证、公证服务。平台基于虚拟化取证环境,让电子数据全链路可信、全节点见证、全流程留痕,有效解决诉讼中存证难、取证难、认证难等问题,实现证据的取证、存证、公证、查验、质证等一站式流程服务,大幅降低您的维权成本和提高维权效率。
扫码关注云+社区
领取腾讯云代金券