Bucky ChainSDK
高效轻量的应用链开发框架
2019-01-31 公测开启,助您的 DApp 快速落地
快快通过以下途径上手入门
从 github 获取源码 公测安装包下载 阅读文档 加入官方 QQ 群
缘起

自2009年BTC创世块落地始,区块链迅速席卷了整个世界。区块链包含了架构师们对公网分布式系统的一切幻想,最终一致、无中心、匿名、公开、不可篡改,让人魂牵梦绕难以割舍。人们无不期待着它如之前各种伟大的技术一般,改变商业模式、改变生活方式。随后ETH和智能合约出现,让编程区块链又朝这个梦想迈出了一大步。人们相信在链上孵育出诸如微信、淘宝般的杀手级应用,爆发一场新的革命近在眼前。然而几年过去,币价大跌、EOS难产,满目千篇一律的刮奖博彩,遍地朝生暮死的阿猫阿狗们透凉的尸骸,期待的未来还无比遥远。

这也难怪。当踌躇满志的策划们涌入ETH时,要面对的是贫瘠的性能和极高的时延,难以支撑商业应用场景;当一腔热血的开发者们涌入ETH时,要面对的是晦涩的开发语言,捉摸不透的隐含限制,极度缺失的工具链,高企的调试成本,难以完成复杂工程开发。更别提:当ETH跳水,以ETH结算的应用经济也难逃池鱼之殃;当某个应用火爆一时,其他应用怕是一笔交易也难以吞吐。回过头来看,ETH这些伟大的项目,是否过于超前?在公网共识仍然只有极其低效和缓慢的PoW经过千锤百炼的验证时,在新的开发语言尚未成熟普及时,在区块链经济仍然泡沫严重时,公网应用平台必然无法绕过上面那些问题。

回看过往操作系统的发展史,当超越时代的UNIX出现时,其多任务特性令开发者跃跃欲试,但是多任务带来的复杂度导致UNIX必须运行在以当时来说极其昂贵的高端硬件之上,这是用户难以承受的,多任务系统带来的各种特性也并非是用户急需的;此时技术上相对落后的单任务DOS系统反而一度更加流行,无论对开发者还是用户来说,能够快速开发和部署应用,能够低成本地获取和使用应用才是最紧要的需求。

以史为鉴,我们这群小伙伴萌生了“一链一应用”的想法,为应用开发链,而非为链开发应用。上面那些问题的答案便豁然开朗起来:没有公网共识的负担,应用可以依照业务逻辑选择合适的共识,在性能和安全性间达到平衡;没有多应用一致的计费和运行时隔离需求,就无需定制可结算指令开销的虚拟机和新的编程语言;没有跨应用的经济共享,经济体系内循环更加稳定;没有多应用资源竞争,就不会受其他应用负载的影响。

我们的产品Bucky ChainSDK应运而生。SDK贯彻了“一链一应用”的思路,旨在令开发者能够快速开发高性能的单应用链,助推DApp快速落地。SDK以TypeScript开发,运行于nodejs环境,实现了如下特性:

  • 精巧简单的内核,方便移植运行于各种规格的硬件之上,也方便开发者快速上手和深入定制
  • 对应用层传输协议透明的IO架构,内建支持TCP协议之外,还集成了自研的BDT协议,旨在打造更好的节点连通率、无中心DHT网络节点发现以及更好的广播性能
  • 对共识算法透明的基础架构,内建PoW/DPoS/DBFT多种流行共识实现;可依据业务场景定制共识算法和链特性;极强的共识扩展性,方便立即落地业界前沿理论成果
  • 智能合同以JavaScript/TypeScript为开发语言,使用流行语言天然降低学习门槛,并且得到海量开源库和完善工具链支持,保证开发者可以快速开发大型工程和复杂业务
  • 具备极强伸缩性的进程模型,支持灵活的横向扩展和定制部署

chainSDK

核心贡献者

巴克云是ChainSDK项目的发起方,但在ChainSDK的推进过程中,有大量的思路、代码、实验都是由核心贡献者们提供的。而且从ChainSDK计划集成所有主流区块链技术的角度出发,我们也需要更多的核心贡献者来共同为项目添砖加瓦。下面是默默付出的杰出核心贡献者名单(按首字母先后顺序排列)。

GeekChain 基金会
GeekChain 基金会与我们对区块链未来技术趋势的判断有着高度的一致,我们非常感谢GeekChain基金会选择基于ChainSDK的“一链一应用”思路来构建其生态。GeekChain基金会除了为我们的团队提供了直接的资源支持外,其旗下生态企业的硬件产品还为ChainSDK提供了真实而庞大的公网实验环境。
INT 基金会
INT 基金会的研发团队为ChainSDK做了大量基础性的性能优化工作,帮助解决了在IoT场景下的不少性能问题。同时,INT基金会的研发团队还在适合构建物联网的异构双链共识算法方向上做了大量的研究和实验,并为共识算法的演进和智能合同的拓展性设计方面,做了大量工作。
Ruff 基金会
Ruff 基金会的研发团队帮助解决了ChainSDK在向各种定制js虚拟机上进行移植中的不少bug。同时,Ruff的研发团队还对DPoS共识算法的潜在问题和未来方向进行了大量的创造性思考和实验。