编者按:本文来自PolkaWorld,作者:JohnWu,Odaily星球日报经授权转载。近来连续参加了三个黑客马拉松,技术栈选用Substrate,都取得了不错的成绩。就有些朋友好奇想要了解Substrate到底是个什么东西。作为一个之前有两年Dapp和二层网络开发经验,也捣鼓过fork以太坊的开发者,我在半年前开始彻底转投Substrate阵营,因为我觉得这可能是一个开发去中心化应用的更好范式。去中心化应用开发的三种方案对比
首先,我想分享下我对去中心化应用开发的理解。开发去中心化应用,对于一个不算特别庞大的团队来说之前无非就是三条路:基于智能合约的Dapp二层网络解决方案fork以太坊但是这三个方案在开发运维成本、性能和灵活度方面有或多或少的缺点。智能合约的开发运维成本比较低是一个最大的优势。但是受限于底层公链平台,实际能够实现的逻辑有限。比如在以太坊上目前就很难检验基于ed25519的签名。同时,项目需要与各种潜在的同平台其他应用竞争资源。比如当ERC20的Tether转账比较频繁,或者某个菠菜项目很火的时候,用户需要为智能合约的每笔交易花费更多的转账费用,而交易的确认反而会更慢。二层网络和fork以太坊主要是开发运维成本比较高。对于二层网络,需要为每个主流的智能合约平台都适配一套系统,开发在很大程度上是重复劳动。而每套系统的运维也需要投入精力。我们这里还不考虑二层网络会在一定程度上受限于底层公链。而fork以太坊,除非是一些山寨项目改几个名字,否则但凡要做一个正经项目就需要对某一个或多个模块做出性能上的优化或定制,就需要一定数量的优秀开发。而项目方还需要投入一定的资源做应用逻辑开发。总之,这两个方案比起智能合约,需要多得多的开发资源。还有一点,这三者在治理升级机制方面都不太成熟。首先这三者的治理一般都是线下治理,在公平公正公开等方面有着众所周知的缺陷。其次,智能合约天生就没有对升级进行支持,很多以太坊多签钱包就深受其害。而二层网络或fork以太坊链则需要社区统一在线下升级节点,稍有疏忽就会产生分叉应用链开发框架的好处
广东发改委:建设能源区块链平台系统:9月29日,广东省发展和改革委员会等六部门印发广东省培育新能源战略性新兴产业集群行动计划(2021—2025年)的通知。通知指出,重点攻关智能电网核心材料及元器件,突破智能电网重大装备,建设电力大数据平台、能源区块链平台系统,加强人工智能与电力融合、能源工业互联网、电力全域物联网、多能互补综合供能/供电、电力通信、电力网络安全等装备及系统研制。[2020/9/29]
就在这样的背景下,一年前看到林嘉文博士在Web3Summit上15分钟发链的视频,还是挺震撼的,借着这个契机去研究了一番,然后就深深感到应用链可能是去中心化应用的一个方向。首先,诸如Substrate之类的应用链开发框架使得开发团队可以相对容易地开发出一个区块链。区块链底层部分如共识算法、P2P网络等部分框架都已经实现,开发者只需要专注业务逻辑。整个开发成本大大低于直接开发二层网络或者fork以太坊。其次,由于应用独享整条链的资源,那么也不存在其他Dapp产生的资源竞争问题。同时应用链本身的性能完全不会亚于诸如以太坊或EOS之类的公链。并且相对于智能合约,团队能更加灵活地掌握应用逻辑开发。而且团队也可以根据实际需求对链的相关参数甚至共识做出调节。Substrate框架的优势
说完了应用链的这一开发范式的好处,我们该谈谈应用链开发框架了。目前市面上应用链开发框架,几乎可以说只有CosmosSDK和Substrate两种。CosmosSDK当然有自己的优势,不过在这里我想谈谈Substrate的相对优势。抽象度高,更通用,开发工作量小。实际上借助于框架提供的模版,开发者只需要注重自己应用所需要用到的存储、函数逻辑和事件的编写,类似于加密猫这样的应用做成应用链一共也就小几百行代码。同时使用官方提供的前端,无需额外编程就直接可以和链进行交互。能够做到这一点和Parity积累了多个区块链客户端的开发经验密不可分。周边工具的生态比较完善。比如说基于官方提供的前端库,很容易就可以开发出应用链的前端交互页面。而基于官方和第三方的rpc客户端库,很容易编写定制的rpc客户端。由于所有的Runtime都写在了Wasm中,基于Substrate的应用链可以支持在线升级。也就是说当链上治理通过了某个升级决议之后,全节点即使不手动升级软件也会运行最新版本的逻辑。这一特性使得链上治理和升级变得无缝,体验上和传统软件开发中的升级比较接近,基本解决了上述三个方案的治理升级问题。目前官方已经给出了WASM和EVM的模块,如果想要想要开发一条支持智能合约的链会非常非常迅速。其中1和2两点使得基于Substrate的应用链开发对小型团队非常友好。在比较熟悉Rust的情况下,可以说开发一个Substrate应用链的工作量和开发一个以太坊Dapp的工作量基本相当。这也是我们近期的所有黑客马拉松的作品都能够在短时间内开发完成的原因。说了这么多,心动不如行动。拥抱Substrate就先从开发一个加密猫应用链开始吧:https://substrate.dev/substrate-collectables-workshop/
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。