宇宙链 宇宙链
Ctrl+D收藏宇宙链

开发了两年 Dapp、二层网络后,我转投了 Substrate 阵营

作者:

时间:1900/1/1 0:00:00

编者按:本文来自PolkaWorld,作者:JohnWu,Odaily星球日报经授权转载。近来连续参加了三个黑客马拉松,技术栈选用Substrate,都取得了不错的成绩。就有些朋友好奇想要了解Substrate到底是个什么东西。作为一个之前有两年Dapp和二层网络开发经验,也捣鼓过fork以太坊的开发者,我在半年前开始彻底转投Substrate阵营,因为我觉得这可能是一个开发去中心化应用的更好范式。去中心化应用开发的三种方案对比

首先,我想分享下我对去中心化应用开发的理解。开发去中心化应用,对于一个不算特别庞大的团队来说之前无非就是三条路:基于智能合约的Dapp二层网络解决方案fork以太坊但是这三个方案在开发运维成本、性能和灵活度方面有或多或少的缺点。智能合约的开发运维成本比较低是一个最大的优势。但是受限于底层公链平台,实际能够实现的逻辑有限。比如在以太坊上目前就很难检验基于ed25519的签名。同时,项目需要与各种潜在的同平台其他应用竞争资源。比如当ERC20的Tether转账比较频繁,或者某个菠菜项目很火的时候,用户需要为智能合约的每笔交易花费更多的转账费用,而交易的确认反而会更慢。二层网络和fork以太坊主要是开发运维成本比较高。对于二层网络,需要为每个主流的智能合约平台都适配一套系统,开发在很大程度上是重复劳动。而每套系统的运维也需要投入精力。我们这里还不考虑二层网络会在一定程度上受限于底层公链。而fork以太坊,除非是一些山寨项目改几个名字,否则但凡要做一个正经项目就需要对某一个或多个模块做出性能上的优化或定制,就需要一定数量的优秀开发。而项目方还需要投入一定的资源做应用逻辑开发。总之,这两个方案比起智能合约,需要多得多的开发资源。还有一点,这三者在治理升级机制方面都不太成熟。首先这三者的治理一般都是线下治理,在公平公正公开等方面有着众所周知的缺陷。其次,智能合约天生就没有对升级进行支持,很多以太坊多签钱包就深受其害。而二层网络或fork以太坊链则需要社区统一在线下升级节点,稍有疏忽就会产生分叉应用链开发框架的好处

Theta下半年计划推出支持整个Etherum DApp开发堆栈的适配器完整版本:据官方消息,Theta Mainnet 3.0 将在不到 2 周的时间内发布,在 2021 年下半年,Theta计划推出支持整个 Etherum DApp 开发堆栈的适配器的完整版本,例如 Ether.js、Web3.js 和 Truffle,此后,Uniswap、Compound、AAVE 等以太坊 DApp 可以部署到Theta,无需任何修改。[2021/6/18 23:46:17]

就在这样的背景下,一年前看到林嘉文博士在Web3Summit上15分钟发链的视频,还是挺震撼的,借着这个契机去研究了一番,然后就深深感到应用链可能是去中心化应用的一个方向。首先,诸如Substrate之类的应用链开发框架使得开发团队可以相对容易地开发出一个区块链。区块链底层部分如共识算法、P2P网络等部分框架都已经实现,开发者只需要专注业务逻辑。整个开发成本大大低于直接开发二层网络或者fork以太坊。其次,由于应用独享整条链的资源,那么也不存在其他Dapp产生的资源竞争问题。同时应用链本身的性能完全不会亚于诸如以太坊或EOS之类的公链。并且相对于智能合约,团队能更加灵活地掌握应用逻辑开发。而且团队也可以根据实际需求对链的相关参数甚至共识做出调节。Substrate框架的优势

Fixed社区核心开发者Eric:DeFi的高波动性是传统资金进入的一个障碍:3月15日19:00,一站式DeFi门户DeFiBox在线上举办DeFi Demo Day第二期——Heco专场,去中心化固定存款利率协议Fixed-Rate-Protocol受邀参与了本次圆桌讨论环节。

Fixed-Rate-Protocol社区核心开发者Eric在圆桌中介绍到,Fixed-Rate-Protocol的愿景是以固定利率衍生品作为切入点,在金融生态中提供浮动利率的缓冲池,为上下游提供更稳定的金融环境。

Eric认为对于整个DeFi金融生态来说,固定利率协议不仅仅是缓冲池,也是结构化资产配置的必要模块,更是和传统金融对接的桥梁。在传统金融里面,能做到固定年化10%,浮动年化20%的产品也是凤毛麟角。而DeFi的高波动性是传统资金进入的一个障碍,所以Fixed希望用智能合约和平台币治理机制,来为传统金资金的进入,提供更加简单和友好的投资方式。[2021/3/15 18:46:58]

说完了应用链的这一开发范式的好处,我们该谈谈应用链开发框架了。目前市面上应用链开发框架,几乎可以说只有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/

声音 | 中国工业经济联合会何岸:应鼓励区块链开发者研发自主可控的平台和应用,逐步推行区块链中加密算法的国产化替代:金色财经报道,中国工业经济联合会工业经济研究中心经贸室主任何岸表示,在传统的组网模式下,所有设备之间的通信必须通过中心化数据中心实现,不仅提高了组网成本,可扩展性和稳定性也较差。区块链技术可以将计算和存储需求分散在各个设备中,既显著降低了数据中心维护成本,也能有效阻止任何单一节点被恶意操控的风险,实现全流程透明可追溯。何岸建议,在政策层面,应鼓励区块链开发者研发自主可控的平台和应用,鼓励国内重点企业、科研机构、高校等加强合作,加快对共识机制、可编程合约、分布式存储、数字签名等关键核心技术的攻关,逐步推行区块链中加密算法的国产化替代,为打造更加符合国家安全要求的自主可控区块链平台,促进众多应用落地保驾护航。[2019/12/11]

声音 | 比特币核心开发者:法币经济倒塌时,比特币用户会受到较轻影响:比特币核心开发者Jimmy?Song今日发推表示,“法币经济几乎完全建立在长期债务之上。当它崩溃时,会突然崩溃。比特币用户会受到影响,但情况要好得多。”[2019/10/16]

标签:RAT应用链BSTSTRBitcoin Standard Hashrate TokenBSTNstrm币投资价值

Gate交易所热门资讯
金融时报:首个“国家队”区块链服务平台落地

编者按:本文来自金融时报,作者:记者杜冰,Odaily星球日报经授权发布。近日,由国家信息中心、中国银联、中国移动等发起的区块链服务网络发展联盟举办首届区块链服务网络合作伙伴大会,会上,微众银行作为首批12家合作伙伴之一参加了区块链服.

1900/1/1 0:00:00
二次探底回升,减半行情拉开序幕?

受北京、上海、深圳等地政府联合金融部门对辖区内数字货币交易相关活动进行摸排整治的影响,BTC创下半年来的新低6514美元。11月25日,央行发布《中国金融稳定报告》.

1900/1/1 0:00:00
稳定币 DAI 的数据可视化

编者按:本文来自以太坊爱好者,作者:ChristianSeberino&DanningSui,翻译&校对:安仔Clint&阿剑,Odaily星球日报经授权转载.

1900/1/1 0:00:00
什么是比特币?用Pokemon卡牌来解释

编者按:本文来自蓝狐笔记,Odaily星球日报经授权转载。前言:本文仅适合于刚刚接触区块链和比特币的初学者。本文用Pokemon的卡牌交易来说明比特币的最基本原理.

1900/1/1 0:00:00
哈喽,DCEP,再见,比特币

编者按:本文来自星传媒STARMEDIA,作者:Never,Odaily星球日报经授权发布。央行数字货币DCEP正在“千呼万唤始出来”。今年8月以来,关于央行数字货币的消息持续不断.

1900/1/1 0:00:00
如何防范SIM卡攻击?

在多次重启无果后,他联系了当地的移动运营商,才得知SIM卡被报告“丢失或被盗”,并要求作者在另一张SIM卡上激活。早期的模拟GSM制式SIM卡是允许同一个手机号码同时联网的,所以这一技术早期也被用于抓小三和间谍应用上.

1900/1/1 0:00:00