值得信赖的区块链资讯!
比推数据  |  比推终端  |  比推英文  |  比推 APP  | 

下载比推 APP

值得信赖的区块链资讯!
iPhone
Android

Web3 开发者学习计划:波卡与以太坊开发

PolkaWorld

从互联网 Web2 到 Web3 时代,用户需求发生了变化,开发技术亦随之变化。什么是 Web3 开发?Web3 开发指构建在区块链上运行的去中心化应用程序 (DApp)的实践。

这里涉及两个层面的开发,一是区块链的开发。我们在《Web3 开发者学习计划》系列的第三篇《Web3 开发者学习计划:如何选择区块链部署第一个项目?》从采用率、编程语言、共识机制、可扩展性和安全等角度为大家介绍了开发者如何选择合适的链,以及为何开发自己的区块链是 Web3 开发者的优选

二是 DApp 的开发。去中心化的应用与传统应用程序的开发理念有所不同,据加密领域经验丰富开发者所撰写的 DApp 定义报告显示,DApp 需具备以下特征:

  • DApp 必须具有开源代码并且在没有第三方干预的情况下运行,且它必须是用户控制。

  • 所有信息都必须保存在可公开访问的区块链网络中,其中去中心化是关键,不能有一个中心攻击点。

  • DApp 必须有某种加密令牌才能访问,并且它们必须奖励所述令牌中的贡献者,例如矿工和利益相关者。

  • DApp 必须具有生成令牌的共识方法,例如工作量证明 (PoW) 或权益证明 (PoS)。

从上文对 Web3 开发的概念解读来看,开发者在 Web3 中选择适合自己的开发技术对项目发展而言至关重要。而目前在技术开发领域,波卡 Substrate 开发框架与以太坊智能合约获得一众开发者的追捧。二者有什么区别?在波卡与以太坊开发有什么区别?下文试从多角度对两者进行介绍,试解答上述问题。


在波卡上开发

开发者如果选择在波卡开发,首先需要认识 Substrate 开发框架和编程语言 Rust。

认识 Substrate

Substrate 是一个用于构建区块链的开源的、模块化的和可扩展的区块链开发框架。该开发框架具有模块化、多层架构和无分叉升级这三个主要优势。因此,从理论上来说,Substrate 允许开发者为任何用例创建专属区块链。此外,Substrate 附带了一个名为 Contracts pallet 的智能合约模块,开发者利用 Substrate 可开发智能合约。

至于 Substrate 与波卡之间的关系,值得注意的是 Substrate 可用于构建任何类型的区块链,而不仅仅是波卡平行链。但连接到 Polkadot 提供了许多好处,包括内置安全性、跨链互操作性,以及享受波卡生态不断增长的平台、应用程序和终端用户。

编程语言——Rust

Rust 是一种为性能和安全性,尤其是安全并发性而设计的语言,它在语法上与 C++ 相似。目前 Substrate 开发框架由 Rust 编写。与 Solidity 相比,Rust 将性能的低级(low-level)控制与现代语言功能结合在一起,速度快且内存效率高。在 Web3 中,Rust 的内存安全与高性能对于 DApp 的开发十分友好,目前将 Rust 语言作为核心开发语言的就有 Polkadot、Solana、Near。其主要优势在于:

  • 发挥了静态语言的优势——静态类型的语言允许对数据及其行为预先进行编译器级别的检查和约束,这极大减轻了开发者的负担,同时有益于长期维护。

  • 让并发更容易——当两个线程同时访问同一内存时会发生数据竞争,这就可能导致某些不可预测的行为。Rust 从编译阶段就将数据竞争解决在了萌芽状态,保障了线程安全。

  • 更好的内存安全特性——无垃圾回收器的内存安全机制是 Rust 经典且核心的设计之一。

此外,不容忽视的是 ink! 智能合约语言。ink! 用于在 Rust 中编写智能合约并编译为 Wasm 代码。其最初是通过利用 Rust 的宏系统生成自定义语法和样式,来进行智能合约开发。ink! 使用普通的 Rust 代码,通过以 #[ink(...)] 的形式添加一些属性标签,即可完成所有工作所需的场景。目前 ink! 语言仍在发展中。未来 ink! 在使用上可能会更像 Rust,以帮助那些熟悉 Rust 语言的开发者获得应对智能合约更强的能力。

关于 ink! 相关开发知识请参见下方链接:

https://github.com/paritytech/ink


在以太坊上开发

开发者如果选择在以太坊开发,首先需要认识以太坊 Smart Contrats 和编程语言 Solidity。

认识 Smart Contrats

智能合约是链上运行的一段由开发者写好规则的程序代码。智能合约(Smart Contrats)的概念早于区块链,早在 1996 年密码学家 Nick Szabo 将其定义为「可编程的合同」。而以太坊则是第一个实现智能合约功能的区块链项目——智能合约是以太坊应用程序的基本构建块。

智能合约主要有两大作用。一是用来发行虚拟资产,以太坊应用的虚拟资产或 NFT 都是由合约产生,如 ERC-20、ERC-721、ERC-1155 等标准。二是链上所有应用程序也是由智能合约驱动。目前智能合约可以在借贷协议、DEX、NFT 等领域使用,这些应用都由一个或多个智能合约组成。

感兴趣开发者可以至 Etherscan 上查看各类智能合约:

https://etherscan.io/searchcontractlist?a=all&q=uniswap

编程语言——Solidity

智能合约的语言有很多种,不同链也有自己不同的环境。以太坊环境称为 EVM,其能执行由 Solidity 编写的智能合约。Solidity 作为区块链编程语言的优势是更容易学习,并且有更多用于 Solidity 的开发人员工具。其主要特点包括:

  • 面向对象——一种专注于围绕数据和对象而不是逻辑和功能进行软件开发的编程方法。

  • 高级语言——通过独立于计算机硬件架构使软件开发更加用户友好的语言。

  • 静态类型——在编译时检查错误和类型的语言。

综上,Solidity 开发虽然对新手友好度高,但开发过程中较容易出现安全漏洞,因此需要反复对代码进行全面测试,且 EVM 本身的设计就有局限性。而随着 Web3 大范围采用,项目安全问题亟待解决。尽管前期学习成本相对较高,但相对安全且高性能的 Rust 成为越来越多开发者的选择。


开发第一步,链还是 DApp?

波卡 DApp

目前波卡提供了两种部署应用程序的方法:作为现有平行链上的智能合约,或开发您自己的平行链。

平行链是单独的链,具有自己的运行逻辑,受益于中继链提供的共享安全性和链间消息传递。平行链允许高度的灵活性和定制,任何开发人员都可以使用 Substrate 创建无分叉区块链,这些区块链可以在不需要硬分叉的情况下在波卡或以太坊以外的任何生态系统上进行升级。因此,如果您想为特定的应用程序设计特殊功能,平行链通常是更好的选择。

在波卡主网中,还有多个平行链充当智能合约平台。Substrate 目前以两种方式支持两种以太坊智能合约部署:一是由 Frontier 提供的 EVM Pallet。Frontier 是一套工具,可以实现 Substrate 链以使用相同的 API/RPC 接口在本地运行以太坊合约(EVM)。二是 Substrate 提供内置 Contracts Pallet,随着时间的推移,更多的平行链将支持 WebAssembly 智能合约。而 EVM Pallet 它允许以太坊虚拟机平行链,从而支持以太坊合约的 Direct Ports。

更多 Substrate 上智能合约开发相关内容请参见:https://wiki.polkadot.network/docs/build-smart-contracts

以太坊 DApp

一般情况下,在以太坊上部署 DApp 包括以下三步:

  • 部署合约——在主区块链部署智能合约。

  • 打包 DApp——这一步用于打包和上传前端资源。

  • 注册——要变成去中心化应用,以太坊浏览器(Mist 或 AlethZero)需要进入这个包裹。并在资源存储的地方注册 URL。

以太坊上拥有数十万开发人员和项目,这使其在 DApp 采用方面具有显著优势。而以太坊高昂的 gas 费用恰暴露出其网络吞吐性问题带来的弊端。随着越来越多应用部署于该网络,越来越多用户涌入网络中进行交互,其底层基础设施如何满足应用层创新成为亟待解决的问题。期待今年以太坊升级将如何解决上述问题。

总之,以太坊上部署 DApp 在开发难易度和网络生态上确有优势。但由于以太坊公链底层设计问题,应用的部署无需许可,而核心网络的升级则需要特定治理方式下的民主许可。一旦建立了 Web3 网络系统,协议就会变得非常僵化,并且不容易进行创新升级。由此出现开发过程中存在基础设施升级和变更滞后于应用层的问题。

与以太坊的现有系统及即将推出的分片升级相比,Substrate 非常模块化。不仅波卡中继链的设计也比以太坊更具可扩展性,而且开发者可以根据自己的需要自行设计专属区块链。当下,模块化区块链成为业内非常看好的方向,以太坊升级也不断向此靠拢,而波卡 Substrate 开发框架将受到更多关注与采用。

不可否认,Substrate 开发的学习路径陡峭,令不少开发者望而却步。OneBlock 作为全球最大的 Substrate 技术开发者社区,OneBlock 与 Parity 官方(Substrate 的创始团队)联合开办的 Substrate 系列公益课程拥有众多专家导师授课、实时更新的前沿技术内容、完整的课程体系与培养方案,课程共计 12000 次以上的点击量,吸引了近 30000 人关注。《Substrate 区块链开发入门》第十二期带你快速入门 Substrate 开发框架,从 0 到 1 迈入区块链开发世界。公益课程名额有限,先到先得!

链接:https://jhp.xet.tech/s/njhiE


Web3 开发者的机会

随着过去几年 Web3 技术飞速发展,下一代去中心化互联网对定制化、安全性、互联性的需求与日俱增。Web3 引起的就业激增可能远超 Web1 转向 Web2 时期引发的就业激增。也就是说,开发人员和计算机工程等其他技术相关职位的需求量很大,他们有潜力在未来十年创造相当可观的价值。

由 OneBlock 开设的开发者系列文章《Web3 开发者学习计划》已经推出了四期。我们希望通过全面的指南和社区支持,帮助各位新手开发者顺利进入 Web3,渡过小白期,成长为行业的中坚力量。如果您有感兴趣的话题,不妨在社区或后台与我们留言互动,希望能与各位开发者共同成长,并肩迈向 Web3!

参考资料

DApp 理论报告

https://github.com/DavidJohnstonCEO/DecentralizedApplications

智能合约

https://wiki.polkadot.network/docs/build-smart-contracts




活动预告


本周四(3 月 23 日)晚 19 点,「Polkadot/Kusama 提案分享」系列直播第二期将在波卡世界直播间开启,本期由 PolkaWorld xiaojie 为大家分享 Dotsama 上最新最有趣的提案。点击下方按钮立即预约直播。



4 月 11 日,PolkaWorld 与 Parity 主办,OneBlock、香港区块链协议 HKBA.club、亚洲元宇宙联盟 AsiaMeta.club 联合主办的 Polkadot Meetup 将在香港举办!我们邀请了 20+ 团队,除了讨论去中心化、L2、平行链之外,我们还将讨论跨链协议、Web3 资本市场的变局、社交网络的未来以及Web3 基础设施的愿景与困境。如果你感兴趣,欢迎报名参加我们的活动!有机会获得有趣的 NFT、免费的域名以及超酷的 Polkadot 2023 新周边!点击下方卡片立即免费报名。



  • PolkaWorld Telegram 群:

    t.me/polkaworld

  • PolkaWorld Youtube 频道:

    https://www.youtube.com/c/PolkaWorld

  • PolkaWorld Twitter:

    @polkaworld_org


更多内容


Bifrost 即将上线 Filecoin 原生资产 FIL 的首个流动性质押方案

波卡周报|Zeitgeist 正式从 Kusama 迁移到 Polkadot!Astar 宣布与日本硅谷「涩谷市」合作!

DIA:波卡生态中的「多链」预言


说明:比推所有文章只代表作者观点,不构成投资建议
原文链接:https://www.bitpush.news/articles/3850836

比推快讯

更多 >>

下载比推 APP

24 小时追踪区块链行业资讯、热点头条、事实报道、深度洞察。

邮件订阅

金融科技决策者们都在看的区块链简报与深度分析,「比推」帮你划重点。