
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 宣布与日本硅谷「涩谷市」合作!
比推快讯
更多 >>- Solana 区块链策略游戏 Honeyland 被 BRAVO READY 收购
- 数据:CoinUp 平台币 CP 现报 0.47 美元,较开盘价涨幅逾 15 倍
- 某地址向 Hyperliquid 存入 135 万 USDC 并做以 2 倍杠杆多 PUMP
- 某鲸鱼/机构归集休眠 2 年钱包,总计积累 51,431 枚 ETH,浮盈超 20 倍
- Sunriselayer:空投申领检查器已上线,申领练习将于北京时间 15 日 8 时结束,主网及 TGE 于 Q3 进行
- 数据:比特币 ETF 产生的需求近两日已达日产量的 20 倍左右
- 疑似质押服务商 Arthapala 过去一小时再次向 CEX 充值 4120 枚 ETH
- Arthur Hayes 过去一天通过多种渠道购买价值 150.5 万美元 ENA
- 继 Coinbase 之后,OpenSea、MoonPay、波卡等项目官方账号头像换为胖企鹅形象
- Aethir:节点许可证转移系统上线,系首个解锁节点二级市场的加密项目
- 某聪明钱加仓 40 倍比特币空单,入场均价达 11.77 万美元
- 美国比特币现货 ETF 首次连续两日净流入超 10 亿美元,该 ETF 推出以来仅 7 次日流入量超 10 亿
- 分析师:历史数据显示 7 月、10 月是比特币表现最稳定的增长月份
- 3A 区块链游戏 Seraph 启动紧急回购应对价格波动,链上地址透明公示
- 恺英网络香港子公司获 SFC 颁发 4 号及 9 号牌照,加速全球化布局
- PUMP 于 Hyperliquid 盘前市场未平仓量已达 1.52 亿美元,资金费率偏空
- Hyperliquid 未平仓合约达 10.6 亿美元,创历史新高
- 多个昨日热门代币出现“钓鱼线”走势,普遍下跌 10%-30%
- 某新建钱包地址买入 11.88 万枚 HYPE,均价 46.27 美元
- Crypto.com 探索在迪拜免税店引入加密货币支付
- 24 小时现货资金流入/流出榜:ETH 净流出 2.53 亿美元,BTC 净流出 2.23 亿美元
- Meta 收购语音初创公司 PlayAI,以增强音频技术
- Letsbonk 创始人:平台网站更新预计下周陆续推出
- 某鲸鱼昨晚 15 倍杠杆做空 ETH,仓位高达 3.7 万枚 ETH,名义价值 1.1 亿美元
- 路华证券拟申请香港虚拟资产交易牌照并引入稳定币支付结算业务
- Bitcoin Treasury Capital:以 500 万瑞典克朗增持 4.4 枚 BTC,当前持仓总量增至 152 枚
- 数据:过去 7 天 USDC 流通量约增加 7 亿枚
- Huma 2.0 存款将于 7 月 13 日开放,单个钱包额度 50 万美元
- RootData:QUAI 将于一周后解锁价值约 184 万美元的代币
- 某 Smart Money 地址清仓 141.7 枚 BTC,持币 1 个月获利 182 万美元
- 男子因 SIM 卡交换盗取 2200 万美元加密货币刑期增加至 12 年
- FTX/Alameda Staking 地址向 Bitgo Custody 转移 18.98 万枚 SOL,价值 3117 万美元
- Binance Alpha 昨日交易量报 4.24 亿美元,BR、KOGE、quq 分列前三
- 华尔街日报:谷歌耗资 24 亿美元获 Windsurf 技术授权并聘用部分员工
- Linea 项目负责人:本月发布的公告将与 TGE 相关
- CoinUp.io 平台币 CP 将于今日 15 点(UTC+8)全面开放交易
- 1inch 团队过去 16 小时疑似再次购买 1181 万枚 1INCH,价值 330 万美元
- “美联储传声筒”提及鲍威尔辞职报道:第一反应是无视它,鲍威尔已做出过坚决表态
- Clanker 已使用 GoPlus 安全代币发行标准 SafeToken Protocol 并获得代币安全认证
- 稳定币基础设施初创公司 Zerohash 计划以近 10 亿美元估值融资 1 亿美元,Interactive Brokers 领投
- 非营利开发组织 Argot 6 小时前出售 1206.6 枚 ETH 换取 361 万美元
- 某巨鲸昨日买入 3490 亿枚 PEPE,累计持仓价值 623 万美元
- 黄仁勋再度减持英伟达 22.5 万股,价值约 3640 万美元
- 某新建地址 2 小时前从 FalconX 提现 16,773 枚 ETH
- OpenAI 30 亿美元收购 Windsurf 失败,后者转投谷歌
- GMX 项目方于 7 小时前卖出 1 万枚 ETH,或以向用户进行资产返还
- 国际清算银行警告:稳定币快速扩张或威胁货币主权
- 某鲸鱼向 Hyperliquid 存入 2050 万 U 以建立一篮子空头仓位
- 某鲸鱼地址沉寂 4 个月后将 1000 枚 BTC 转入 Binance
- 某鲸鱼地址以 3 倍杠杆做空 PUMP,爆仓价 0.00735 美元
比推专栏
更多 >>观点
比推热门文章
- 某地址向 Hyperliquid 存入 135 万 USDC 并做以 2 倍杠杆多 PUMP
- 某鲸鱼/机构归集休眠 2 年钱包,总计积累 51,431 枚 ETH,浮盈超 20 倍
- Sunriselayer:空投申领检查器已上线,申领练习将于北京时间 15 日 8 时结束,主网及 TGE 于 Q3 进行
- 数据:比特币 ETF 产生的需求近两日已达日产量的 20 倍左右
- 疑似质押服务商 Arthapala 过去一小时再次向 CEX 充值 4120 枚 ETH
- Arthur Hayes 过去一天通过多种渠道购买价值 150.5 万美元 ENA
- 继 Coinbase 之后,OpenSea、MoonPay、波卡等项目官方账号头像换为胖企鹅形象
- Aethir:节点许可证转移系统上线,系首个解锁节点二级市场的加密项目
- 某聪明钱加仓 40 倍比特币空单,入场均价达 11.77 万美元
- 美国比特币现货 ETF 首次连续两日净流入超 10 亿美元,该 ETF 推出以来仅 7 次日流入量超 10 亿