区块链技术近年来在国内迅速倒退,并在泛滥畛域发展摸索并有不少利用落地。作为一门新型技术,区块链技术在助力企业效率晋升的同时,在人力老本、联盟链兼容等方面依然须要开释更多可能性。
如何升高区块链的开发成本、使其更高效便捷地利用到产业当中,成为晋升企业区块链利用价值的关键所在。而目前在区块链在理论利用开发过程中仍面临诸多痛点。
为此,微众银行区块链在多年技术钻研和利用实际的根底上,踊跃剖析、总结行业需要,研发了一套区块链利用开发组件 WeBankBlockchain-SmartDev,用低代码形式在不影响原有业务的根底上,解决区块链与原有利用之间的连贯问题。
研发区块链利用开发组件的初衷在于打造低代码开发的组件库,全方位助力开发者高效、敏捷地开发区块链利用。
该组件蕴含了一套凋谢、轻量的开发组件集,笼罩合约开发、编译、利用开发等环节,开发者可依据本人的状况抉择相应开发工具,晋升开发效率。
其中包含 WeBankBlockchain-SmartDev-Contract 智能合约库组件、WebankBlockchain-SmartDev-SCGP(SmartContractGradlePlugin) 智能合约编译插件、WebankBlockchain-SmartDev-Scaffold 区块链利用开发脚手架组件等。
对开发者敌对的一键式利用开发脚手架、合约模板等性能,便捷区块链利用开发,让开发过程朝“低代码”模式迈进。
区块链利用开发组件个性与原理
这款利用开发组件从 2020 年初开始策划,在 DAPP 的开发过程中也存在过各种各样问题。在解决这些问题的过程中积攒了一些教训,咱们将这些教训胜利复用到利用开发组件中,上面咱们一起看看利用开发组件的个性及原理。
- 首先是 智能合约库,它蕴含了根底类型层,构造数据层、通用性能层、下层业务层。
- 根底类型层:它蕴含数学运算、字符串相干操作、数组操作和地址操作等。
- 数据结构层:它蕴含一些数据结构,例如可迭代映射、链表等
- 通用性能层:它蕴含一些 crud 合约,还有一些密码学操作。
- 下层业务层:蕴含溯源,存证等业务模板。
其次是合约编译插件。传统的操作形式是上传合约到控制台,跑脚本,再将合约的内容拷贝进去,频繁的编译和调试过程需破费大量的工夫。而合约编辑插件只需执行简略的指令,全自动生成放到指定的地位,不必做额定拷贝。
组件依据以后的环境,抉择对应的 jar 包,把 Solidity 文件读取进去并编译,编译会输入三个内容,别离是 ABI、BIN、Java 合约。其中 ABI 是接口,智能合约的接口定义;BIN 是合约二进制,它蕴含国密版的二进制和非国密版的二进制;Java 合约蕴含通过 Java 的形式去调用智能合约接口。
最初是利用开发脚手架,脚手架生成通用的 DAPP 我的项目构造。
首先,它蕴含合约、ABI 和 BIN 对于合约相干的一些资源文件。
其次就是代码,能够分成两局部:connection,config,utils,这些是用来连贯区块链和 FISCO BCOS。
再其次是 service 和 POJO。service 对应的是智能合约的调用,POJO 是智能合约的函数输出。service 的办法对应的是智能合约中的函数,调用 service 的办法,会主动进行拼装交易、回执解析。
脚手架的原理蕴含如下几点,首先进行一些通用的检测,而后生成模板文件,对智能合约进行编译,解析 ABI 的每一个合约的每一个函数,读取它的参数,拼装成对应的 Java 类,最初生成我的项目的构建。
区块链利用开发组件工具实操
实操演示可配合视频回放享受
https://www.qq.com/video/m325…
首先拜访智能合约库地址,它包含下层业务,根底类型、数据结构、通用性能层,能够看到一些库文件,还有一些 demo,很不便去调用库里的文件。
其次是合约编译插件的实操。合约编辑插件其实应用起来也是很简略的,首先关上官网文档,对 builg.gradle 进行依赖等配置,而后执行 gradle solc 即可,插件会读取到我的项目的 hello world 合约,默认会从 contract 来读取合约,而后生成 ABI 和 Java 合约。
最初是利用开发脚手架演示。先将脚手架的代码给拷贝下来。进入 tools 目录,在 contract 曾经默认放了合约,而后是 config.ini,这里能够定义一些罕用的内容,比方我的项目名、group 组、编译编译器的版本、solidity 版本等,咱们能够按需改这些内容。在 windows 和 UNIX 环境下会提供一个 bat 文件和 shell 文件。
咱们来看下生成的我的项目。这是一个 springboot 我的项目,外面有对应的依赖,包含像 Java SDK,springboot 等,从生成的代码看,最外围的代码是 hello world service,它对应 hello world 合约,service 则对应着合约外面的 set 和 get 函数,调用 set 函数或者 get 函数,从而调用对应的智能合约。
从 resource 目录可知,外面蕴含了智能合约的输出和输入。同时也有 conf 目录,帮忙大家将链的节点上的一些证书拖下来,能够放在 conf 目录。application、properties 是 springboot 的比拟规范的配置文件。
从 test 目录可知,test 外面会放了一些罕用的性能,比方生成私钥,部署一个合约,开发者能够依据本人的想法,把这些性能放到 demo 里。这就是脚手架生成的 demo 我的项目,它蕴含很多以智能合约为外围的性能。
最初,欢送大家一起独特建设区块链利用开发组件,智能合约库长期征集合约库代码,外面有几十个工作任大家筛选,实现工作还将取得礼品,欢送参加!
点击浏览原文参加智能合约库流动。
体验 WeBankBlockchain-SmartDev:
SmartDev-Contract 智能合约库组件
https://github.com/WeBankBlockchain/SmartDev-Contract
SmartDev-SCGP 合约编译插件
https://github.com/WeBankBlockchain/SmartDev-SCGP
SmartDev-Scaffold 利用开发脚手架
https://github.com/WeBankBlockchain/SmartDev-Scaffold
《超话区块链》介绍
《超话区块链》是由 FISCO BCOS 开源社区推出的直播流动,每周四晚 8 点,社区邀请一位技术极客或利用先锋,做客直播间分享开发实际或利用心得。作为社区固定栏目,《超话区块链》已举办近百场,从技术研究到产业利用均有触达,欢送大家自荐或举荐敌人到直播间分享。公众号对话框回复小助手入群观看直播。
FISCO BCOS 的代码齐全开源且收费
下载地址↓↓↓
https://github.com/FISCO-BCOS/FISCO-BCOS