提速区块链应用开发效率,上海对外经贸大学贡献开发工具箱

Date: 2020-09-14 Source: 本站


在近期众多大赛中,社区涌现出许多优质的区块链应用方案,这些方案让大家看到技术本身的蓬勃活力,也折射了区块链助力产业发展的无限潜力。


应社区开发者要求,社群每周四《超话区块链》直播课推出了“对话区块链应用先行者”系列,与大家分享、展示这些获奖团队的技术应用方案,希望可以给大家日常开发提供一些启迪。


本期邀请了上海对外经贸大学区块链技术与应用研究中心团队分享他们在第四届中国区块链开发大赛的获奖作品:《适用于FISCO BCOS的区块链开发工具箱》,探讨如何为广大区块链开发者提供更便捷的开发工具和学习交流平台,提速应用开发效率。



为什么做区块链开发工具箱?


区块链开发者在学习和开发过程中,总会遇到下面的问题:


因此,团队萌生了做一个集成性强、方便快捷的区块链开发工具箱的想法,希望可以借此解决上述常见问题。



区块链开发工具箱实现思路


相对于传统计算机领域的开发工具,区块链开发工具多、杂,并且许多功能需要使用特定工具或自己手动开发工具完成。


本文介绍的区块链开发工具箱由4个部分组成,分别是1个工具箱、2个子平台、1个CA系统,集成了多种功能,实现使用一个主流编译器(如Remix)与一个开发工具箱即能完成整个区块链应用开发的效果。


区块链开发工具箱主要功能


一起来看一下区块链开发工具箱各组成部分的主要功能。


开发者工具箱


该工具箱力求覆盖整个区块链开发环节,缩短开发周期,提升开发者效率与舒适度。下面将以FISCO BCOS开发全环节举例:


启链阶段


区块链应用开发时通常需要先启动一条测试链,此时开发者可使用工具箱>配置文件智能生成工具,快速生成区块链网络的配置文件。


区块链网络情况监测


启动测试链后,可通过工具箱>区块链网络情况监测,一键监测区块链网络是否正常运行。


合约案例库


编写智能合约前,可使用工具箱>合约案例库,查找是否有其它合约已实现相同或者相似的功能,避免重复造轮子。


地址生成、模拟数据生成、数据转换、签名验证


合约开发过程中,通过工具箱提供的各类生成、转换、验证功能进行开发调试。


性能测试工具


开发完成后,通过工具箱>性能测试工具,测试代码性能并进行调优。


目前工具箱已实现或规划实现如下功能:地址生成、模拟数据生成、数据转换、签名验证、配置文件智能生成、区块链网络情况监测、合约案例库、区块链网络管理、性能测试工具等。



多用户可运行的图书馆


多用户可运行图书馆以JupyterHub为开发基础,集成多种语言内核,如Python、Java等,可支持Ipynb格式图书的上传、阅读或运行书中代码。


它可以帮助用户快速上手区块链开发。例如,用户想在该图书馆中进行学习,可以在图书馆公共知识库中找到自己感兴趣的内容,如《联盟链技术入门指南》,并通过文字、可运行代码的方式进行学习和操作;同时,也可以将自己的学习笔记提交到公共知识库,反哺社区。


团队也可共同运维一个内部共享的图书馆,所有成员在该图书馆上共享书籍、文章等,激活群体学习效能,解决孤立学习效率低下、新人培训成本高等问题。



多链虚拟控制台


在初学阶段,区块链开发者并不一定需要自己去建链,如果觉得建链步骤比较繁琐,可以使用多链虚拟控制台实现快速建链。


开发者可与他人共同使用一条测试链,通过web访问虚拟控制台并进行开发,当有多个开发者需要通过控制台在同一条测试链进行开发时,只需访问在线多链虚拟控制台即可。


目前,这项功能已支持通过web访问FISCO BCOS控制台。


CA系统


CA系统基于区块链技术,对用户在多用户可运行图书馆的学习行为、学分奖励、电子证书等进行记录和管理。


通过该系统,用户各项学习数据一目了然,结合电子证书和学分奖励功能,可以激励用户更积极地学习,反哺社区。


目前已实现或规划实现如下功能:基于WeIdentity的DID数字身份、用户学习行为记录、学分奖励系统、基于区块链的电子证书等。


这套区块链开发工具箱已完全开源,并贡献给FISCO BCOS开源社区,目前项目正在持续完善中,期待社区各路开发朋友能一起拥抱开源,携手共建项目。


更多详情欢迎通过项目github主页了解:https://github.com/SUIBE-Blockchain/FISCO_BCOS_Toolbox/