
Web3 开发者学习计划:波卡与以太坊开发
从互联网 Web2 到 Web3 时代,用户需求发生了变化,开发技术亦随之变化。什么是 Web3 开发?Web3 开发指构建在区块链上运行的去中心化应用程序 (DApp)的实践。
这里涉及两个层面的开发,一是区块链的开发。我们在《Web3 开发者学习计划》系列的第三篇《Web3 开发者学习计划:如何选择区块链部署第一个项目?》从采用率、编程语言、共识机制、可扩展性和安全等角度为大家介绍了开发者如何选择合适的链,以及为何开发自己的区块链是 Web3 开发者的优选。
二是 DApp 的开发。去中心化的应用与传统应用程序的开发理念有所不同,据加密领域经验丰富开发者所撰写的 DApp 定义报告显示,DApp 需具备以下特征:
-
DApp 必须具有开源代码并且在没有第三方干预的情况下运行,且它必须是用户控制。
-
所有信息都必须保存在可公开访问的区块链网络中,其中去中心化是关键,不能有一个中心攻击点。
-
DApp 必须有某种加密令牌才能访问,并且它们必须奖励所述令牌中的贡献者,例如矿工和利益相关者。
-
DApp 必须具有生成令牌的共识方法,例如工作量证明 (PoW) 或权益证明 (PoS)。
在波卡上开发
认识 Substrate
认识 Substrate
Substrate 是一个用于构建区块链的开源的、模块化的和可扩展的区块链开发框架。该开发框架具有模块化、多层架构和无分叉升级这三个主要优势。因此,从理论上来说,Substrate 允许开发者为任何用例创建专属区块链。此外,Substrate 附带了一个名为 Contracts pallet 的智能合约模块,开发者利用 Substrate 可开发智能合约。
至于 Substrate 与波卡之间的关系,值得注意的是 Substrate 可用于构建任何类型的区块链,而不仅仅是波卡平行链。但连接到 Polkadot 提供了许多好处,包括内置安全性、跨链互操作性,以及享受波卡生态不断增长的平台、应用程序和终端用户。
编程语言——Rust
编程语言——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! 相关开发知识请参见下方链接:
在以太坊上开发
开发者如果选择在以太坊开发,首先需要认识以太坊 Smart Contrats 和编程语言 Solidity。
认识 Smart Contrats
认识 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
编程语言——Solidity
智能合约的语言有很多种,不同链也有自己不同的环境。以太坊环境称为 EVM,其能执行由 Solidity 编写的智能合约。Solidity 作为区块链编程语言的优势是更容易学习,并且有更多用于 Solidity 的开发人员工具。其主要特点包括:
-
面向对象——一种专注于围绕数据和对象而不是逻辑和功能进行软件开发的编程方法。
-
高级语言——通过独立于计算机硬件架构使软件开发更加用户友好的语言。
-
静态类型——在编译时检查错误和类型的语言。
综上,Solidity 开发虽然对新手友好度高,但开发过程中较容易出现安全漏洞,因此需要反复对代码进行全面测试,且 EVM 本身的设计就有局限性。而随着 Web3 大范围采用,项目安全问题亟待解决。尽管前期学习成本相对较高,但相对安全且高性能的 Rust 成为越来越多开发者的选择。
开发第一步,链还是 DApp?
波卡 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 包括以下三步:
-
部署合约——在主区块链部署智能合约。
-
打包 DApp——这一步用于打包和上传前端资源。
-
注册——要变成去中心化应用,以太坊浏览器(Mist 或 AlethZero)需要进入这个包裹。并在资源存储的地方注册 URL。
总之,以太坊上部署 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 时期引发的就业激增。也就是说,开发人员和计算机工程等其他技术相关职位的需求量很大,他们有潜力在未来十年创造相当可观的价值。
参考资料
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 宣布与日本硅谷「涩谷市」合作!
比推快讯
更多 >>- FG NEXUS 增持 1,087 枚 ETH,总持仓量升至 49,715 枚
- Binance Alpha 新一期 DL 空投单号收益约 75 美元
- 央行原副行长朱民:数据正在资产化,构建数据市场需具备区块链基础等要素
- 数据:比特币非流动性供应量达到创纪录的 1430 万枚
- 华检医疗:RWA 大厦落地南京,公司标志全面更新
- DeAgentAI(AIA)表现强劲,近 24 小时涨超 42%
- 布拉德:年底累计降息 75 个基点将显著宽松
- Defiance 推出基于杠杆和期权策略的以太坊 ETF ETHI
- 比特币财库公司 Treasury 增持 111 枚 BTC,总持仓量达 1111 枚 BTC
- 香港证监会执行董事梁仲贤:芝商所加密期货合约的亚太交易量占比甚高
- 美联储卡什卡利:如果劳动力市场比预期更加疲软,总是可以更快地降息
- Bitget 集成开源做市机器人 Hummingbot,为高频合约交易者提供流动性解决方案
- WLFI 提议将 100%流动性费用回购并销毁 WLFI提案获通过
- 卡什卡利:失业率上升风险要求美联储采取行动
- 美联储卡什卡利:今年再降息两次是合适的
- Hyperliquid 上线 ASTER 合约,最高支持 3 倍杠杆
- 美股处历史高位,财报季企业盈利预期向好
- 巨鲸沉寂 3 年后抛售 2086 枚 ETH 套现 948 万美元,仍持有 2779 枚 ETH
- 数据:比特币挖矿难度上调 4.63% 至 142.34 T,续创历史新高
- 欧洲央行:无法容忍通胀率长期低于 2%
- Binance:Astra Nova Booster 任务验证 API 暂时中断,官方正与项目方合作解决问题
- 英特尔盘前跌 2.2%,上一交易日股价飙升超 22%
- 数据:CryptoQuant:Coinbase 储备达 1120 亿美元,创四年来新高
- IG Group 以 1.096 亿澳元收购加密交易平台 ndependent Reserve 多数股权
- Binace Alpha 已上线 ASTER
- 某鲸鱼再次购入 11,233 枚 SOL,价值 275 万美元
- Bitlight Labs 完成 960 万美元 Pre-A 轮融资,Amber Group 和 Fundamental Labs 领投
- 日本央行行长:下次加息的时间将取决于美国关税影响及食品通胀
- 长沙警方破获一起冒用“中储粮”名义的虚拟货币诈骗案件
- 分析,宏观因素助推比特币延续涨势,通胀仍为核心风险
- 云锋金融聘请蚂蚁集团前高管蒋国飞担任 Web3 发展委员会主席
- CryptoQuant 分析师:加密货币长期持有者风险下降支撑行情延续
- Bithumb 将上线 KMNO 韩元交易对
- 某鲸鱼向 Lighter 存入约 68.5 万枚 USDC,20 倍杠杆做空 ETH
- Binance:参与 River BuildKey TGE 两阶段积分门槛分别为 209 与 61 Alpha 积分
- X Layer 过去 24 小时链上交易量达 4253 万美元,环比下降 3.26%
- 数据:过去 90 天 pump.fun App 日活用户数涨超 450%
- 香港律政司副司长:基本法保障资本自由流通,稳定币条例有效管控风险
- 分析:日本央行声明为最早四季度加息铺平道路,日元走强致美/日迈向 147 关口
- CZ 评Trust Wallet 更新路线图:TWT 代币正在扩张用例
- 部分公链代币强势,IMX 24 小时涨幅达 16.3%
- DePIN 项目 Arkreen 获美股上市公司 Robo.ai 数千万美元战略投资,将加速去中心化绿色能源资产网络战略
- 币安将调整 PM Pro 及合约杠杆保证金等级
- 分析师:日本央行利率决议出乎意料,或将在 10 月迎来加息
- 博雅互动:将与新火科技进一步深入探讨基于合规框架的 Web3 生态业务合作
- 数据:当前加密恐慌贪婪指数为 52,处于中性状态
- Sky 社区启动MKR 升级至 SKY 延迟升级罚金提案投票
- Rainfall 加入 Aethir EcoDrop 计划
- 密歇根州比特币储备法案 HB 4087 推进至众议院二读
- 数字资产托管商 Hex Trust 与 Lido 合作,提供机构流动性质押和托管服务
比推专栏
更多 >>观点
比推热门文章
- 比特币财库公司 Treasury 增持 111 枚 BTC,总持仓量达 1111 枚 BTC
- 香港证监会执行董事梁仲贤:芝商所加密期货合约的亚太交易量占比甚高
- 美联储卡什卡利:如果劳动力市场比预期更加疲软,总是可以更快地降息
- Bitget 集成开源做市机器人 Hummingbot,为高频合约交易者提供流动性解决方案
- WLFI 提议将 100%流动性费用回购并销毁 WLFI提案获通过
- 卡什卡利:失业率上升风险要求美联储采取行动
- 美联储卡什卡利:今年再降息两次是合适的
- Hyperliquid 上线 ASTER 合约,最高支持 3 倍杠杆
- 美股处历史高位,财报季企业盈利预期向好
- 巨鲸沉寂 3 年后抛售 2086 枚 ETH 套现 948 万美元,仍持有 2779 枚 ETH