NULS 项目成立于2017年9月27日,是一个全球开源社区项目,主网于2018年7月上线。NULS 在创立之初,就致力于让区块链更简单。为了达到这个目标,从 NULS1.0开始,NULS 就采用了模块化的开发方式,想要帮助人们用更简单的方式进行造链,并且实现多链并行的跨链生态。
但是 NULS1.0 并没有把模块化做到极致,为了进一步提高模块的独立性,为之后的造链和跨链打下坚实的基础,NULS 核心团队和 NULS CCC ( NULS Code Craft Council )成员,创造性的将微服务架构与区块链结合,设计了 NULS2.0的全新架构。
1. NULS2.0 的模块化造链
1.1. 分层设计
绝大多数有造链需求的企业,都是希望使用区块链解决自己的业务问题,就像绝大多数常见的系统一样,企业并不希望花费过多精力在底层开发上。为了让企业在造链时,只需专注于自己的业务,NULS 采用了分层设计,将业务层从底层中分离出来。
NULS的分层设计总共分为三层,分别是微服务基础架构层、区块链基础服务层、DAPP 应用层。
为了让 NULS 的模块化更极致,实现模块的完全独立,提高企业在造链时的定制化程度,NULS 在分层设计中引入了微服务架构。
引入微服务之后,企业已经可以只专注于业务的开发了,但是为了进一步降低开发成本,降低开发的复杂度,NULS为每个服务模块都提供了服务基础库,帮助处理模块间的通信消息等基础工作。
1.2. 微服务基础架构层
第一层是微服务基础架构层,是 NULS2.0 的核心,被称作 NULSTAR,是一个区块链微服务底层框架,主要用于实现微服务架构所需要的服务发现、服务注册、服务通信等功能。
有了 NULSTAR,想要基于微服务架构造链的企业,就不再需要关注底层的开发工作,可以直接在 NULSTAR 上开发自己需要的区块链。
为了减少造链企业的工作量,NULS 在 NULSTAR 中,还加入了许多常见系统需要用到的通用功能,例如报表、授权、更新器、翻译器等。这样企业需要使用相应功能时,就可以直接使用 NULSTAR 提供的功能,不需要自己再进行开发。
1.3. 区块链基础服务层
NULS2.0 的第二层是区块链基础服务层,在这一层 NULS使用微服务架构,将区块链系统划分成了不同的模块,这些模块主要分为通用模块和业务模块两种。
通用模块是所有区块链都需要使用的核心模块,包括网络模块、账本模块、账户模块、交易模块、共识模块、区块管理模块等。业务模块是企业根据自己的业务需求开发的模块。
企业使用 NULS 进行模块化造链时,只需要从 NULS 的模块仓库中,选择通用模块,搭建一条基础链,然后将自己开发的业务模块与基础链对接即可。
因为 NULS 采用了微服务架构, 所以模块具有更高的独立性,模块间没有任何代码上的依赖,每一个模块都可独立部署,并对外提供服务。
这对于使用 NULS 进行模块化造链的企业来说,具有极高的商业价值。大型企业的业务往往非常复杂,使用 NULS 造链,可以将业务进行很好的拆分,降低系统的复杂度,让系统维护更简单;当企业需要对区块链进行迭代时,只需要对相应的模块进行开发,然后替换掉原来的模块即可,不会对其他模块产生任何影响,保证系统的稳定性;当企业需要增加新的业务功能时,只需要开发新的业务模块,然后添加到系统中即可,这是一种非常简单的开发方式,能够帮助企业降低运营成本。除此之外,企业并不会受到 NULS 所使用的开发语言的限制,可以使用任何语言进行业务模块的开发。
如果企业要定制的区块链,想采用不同于 NULS 的共识机制,这也是可以的,企业只需要开发出自己的共识模块,然后替换掉 NULS 提供的共识模块即可。和其他造链项目相比,使用 NULS 不会受限于同样的共识机制,真正做到了高度可定制。
1.4. DAPP 应用层
为了帮助企业建设自己的区块链生态, NULS2.0 还设计了第三层——DAPP 应用层。
想要在基于 NULS 搭建的区块链上开发 DAPP 的开发者,只需要通过 NULSTAR 中的连接器(connector)提供的接口,就可以实现和区块链的对接,轻松的获取各种服务。并且 NULS 还会在第三层中,为 DAPP 提供基础应用程序库,帮助开发者处理网络消息和通信协议等,让开发者可以更加专注于 DAPP 的业务开发,进一步降低 DAPP 的开发成本。
2.一键造链
NULS 认为未来会有越来越多的企业需要使用区块链,用于解决自己的业务问题,尽管 NULS2.0 的模块化造链,已经可以很大程度上降低企业的造链成本了,但是依然需要进行业务模块的开发。对于资金紧缺,技术实力薄弱的中小企业来说,依然存在许多困难。为了更快的推进区块链技术的落地应用,帮助企业解决造链难,成本高的问题,NULS 希望通过核心产品链工厂,利用图形化界面,实现“一键造链”。
链工厂基于 NULS 模块仓库实现。NULS 模块仓库由 NULS 核心团队和 NULS 技术社区共同维护,内置了 NULS开发的基础模块。其他开发者也可以加入到模块的开发中,开发者只需要将开发的模块提交到代码库中,通过审核之后,就可以放置到模块仓库中,供自己和他人使用。随着模块仓库的不断完善,将会包含更多的通用模块和业务模块,这样 NULS 模块仓库将会成为适用于不同行业的基础开发库,可以为更多企业提供完善的区块链解决方案。
链工厂本身是一条区块链,链工厂的节点可以同时运行多条链,这样使用链工厂搭建的区块链,就可以直接选择链工厂的节点,运行自己的区块链,省去了搭建区块链节点运行环境的麻烦,同时成本大幅降低。
通过链工厂实现造链,只需要简单的4个步骤就可以完成:
第一,你需要在链工厂的模块仓库中,选择需要的模块;
第二,你需要进行基本的系统参数配置,填写创世块中的内容;
第三,你需要填写链介绍的和发链方式,例如链的主要用途,是否选择链工厂的节点来直接运行;
第四,你需要交纳保证金,广播一笔造链交易,等到交易确认后,新链就搭建成功了。
如果你选择直接使用链工厂的节点,来运行你的区块链,节点会判断你选择的模块是否已经存在,如果不存在,就会从模块仓库中先进行下载,下载完毕,你的链就会直接运行起来。当然,你也可以选择,自己创建节点,来运行你的区块链。
通过链工厂提供的图形化界面,企业和开发者只需要经过简单的配置,就可以简单高效地实现造链,降低了造链的成本,节省了大量的开发时间。链工厂的“一键造链”将会加快区块链商业应用的落地,让我们看到多链并行的场景。
3.NULS的跨链生态
未来将会出现越来越多的区块链,那么实现链与链之间互通,让价值和数据都流通起来就成为一个必须要解决的问题,为了达到这个目的,NULS 提供了自己的跨链解决方案。
3.1. NULS 跨链解决方案
NULS 的跨链基于 NULS 主网实现,所有区块链都只和 NULS 主网通信,交易的验证由 NULS 主网负责,各平行链信任 NULS 主网的验证结果。
利用 NULS 开发的区块链,如果想要实现跨链功能,可以直接选择 NULS 提供的跨链模块,组装到系统中。NULS的跨链模块实现了 NULS 跨链协议,可以轻松的实现与主网互通,然后通过 NULS 主网将资产转移到其他平行链中。
针对以太坊和比特币等,不受 NULS 影响的公链,想要与NULS 生态中的区块链进行互通,NULS 提供了通用的协议转换层。协议转换层可以与以太坊等公链互通,又可以与 NULS 主网进行互通,从而间接实现了与 NULS 生态中其他平行链的互联互通。
3.2. 跨链生态的形成
通过 NULS 搭建的区块链,由于采用了微服务架构,可以直接通过添加内置 NULS 跨链协议的跨链模块,轻松地实现跨链,与其他平行链实现价值和数据的互通。
对于其他公链,通过 NULS 协议转换层,也可以实现与 NULS 主网的互通,从而间接的与 NULS 生态中的其他平行链实现互联互通。
NULS 核心团队已于2019年3月28日,发布了 NULS2.0的第一个 Alpha 版本盘古v1.0,目前企业和个人已经可以基于 NULS2.0 进行模块化造链。未来链工厂的诞生,将会帮助企业和个人更轻松的实现“一键造链”,届时,NULS 生态中,将会出现多链并行的场景,而这将会为跨链生态的形成打下坚实的基础。
4.总结
1、 NULS通过微服务架构,从代码层实现了模块的解耦,不会受到开发语言的限制,使用NULS搭建的区块链将会具备良好的可扩展性,有利于后续的迭代和维护,降低企业的运营成本;
2、 NULS将基于NULS模块仓库,开发核心产品链工厂,实现“一键造链”,帮助企业和开发者高效地搭建自己的区块链;
3、 NULS通过模块化造链,到“一键造链”,会加速区块链商业应用的落地,NULS生态中将出现多链并行的场景,这是NULS跨链生态形成的坚实基础。未来通过NULS的跨链解决方案,将会实现万链互联的NULS跨链生态。
评论
查看更多