区块链:Web3开发人员指南

我们将Web3定义为基于区块链技术的去中心化互联网生态系统。

首先,作为开发人员和建设者,我们理解去中心化通常会唤起碎片化技术堆栈的概念。虽然Web3确实仍处于萌芽状态并迅速发展,但我们发现它的基础构建块已经开始形成。

为了更好地理解Web3和去中心化互联网的内部运作,让我们直接深入Web3开发堆栈。

Web3堆栈概述

在高层次上,构建任何Web3应用程序都需要深入了解区块链网络、Web3基础设施和Web3开发环境。

Web3网络层

Web3技术栈的基础是区块链网络层。虽然Web2应用程序依赖于集中式数据库,但Web3应用程序构建在区块链架构之上,可实现无信任和无许可访问。

WCoAVPqrLQ在选择区块链网络来构建去中心化应用程序(dApp)时,开发人员有两个主要选择:兼容以太坊虚拟机(EVM)的区块链和不兼容EVM的区块链。

EVM区块链

从历史上看,以太坊一直是Web3开发的主要框架,其虚拟环境存储关键信息,如账户和余额。以太坊的虚拟机还存储了一个机器状态,它能够根据EVM制定的一组预定义规则随着每个新块的变化而变化。对于开发人员而言,最重要的是,EVM为智能合约的存储和执行提供了一个框架,允许开发人员对链上逻辑进行编程。

NEAR基金会与阿里云合作,以加速Web 3在亚洲和中东的发展:金色财经报道,NEAR基金会与阿里云达成合作,旨在加速Web3在亚洲的发展。此次合作使NEAR基金会能够访问阿里云在亚洲和中东的开发者生态系统,以吸引更多开发者基于NEAR协议进行开发。NEAR基金会和阿里云将为NEAR生态系统中的开发者和用户提供远程过程调用(RPC)服务。RPC是一种计算机服务器,允许用户读取区块链上的数据并将交易发送到不同的网络。它还将提供多链索引,为开发者提供数据查询API。[2023/6/26 22:00:35]

随着以太坊区块链和EVM的兴起,许多旨在解决以太坊可扩展性限制或昂贵交易成本的不同网络选择开发与EVM完全兼容的框架。这意味着与EVM兼容的链都共享相同的软件层——即Solidity——运行智能合约。

与EVM兼容的区块链允许开发人员利用专门为EVM链构建的所有相同工具、文档和社区,从而节省时间和金钱。

EVM区块链示例

以太坊

原创EVM智能合约平台

Polygon

以太坊侧链

Arbitrum

使用乐观汇总和多轮欺诈证明的第2层区块链

Optimism

使用Optimisticrollups和单轮欺诈证明的第2层区块链

Hermez

由Polygon管理的ZK汇总以太坊第2层网络

ZKSync

使用SNARK的ZK汇总以太坊第2层网络

Starknet

使用STARK的ZK汇总以太坊第2层网络

?Magic Eden将在3月份推出一系列免费的Web3游戏:金色财经报道,NFT市场Magic Eden将在3月份推出一系列免费的Web3游戏,这次发布被称为“Mint Madness”,这是致敬被称为“March Madness”的NCAA大学篮球锦标赛,该平台总共将免费推出13款横跨以太坊、Solana和Polygon区块链的Web3游戏。为了提高参与度,Magic Eden将在其社交媒体渠道上发布Mint Madness系列顶级NFT交易者的排行榜。Polygon系列交易量排名前10位的交易员将进入20,000MATIC(约合25,500美元)的奖池,第一名获胜者将获得4,500MATIC(约合5,400美元)的奖金。[2023/3/2 12:37:24]

Avalanche

与EVM兼容的第1层

Chronos

与EVM兼容的第1层

3个最佳Web3开发环境

在选择构建dApp的区块链网络时,Web3开发人员应考虑可用的开发人员工具的深度和广度。幸运的是,与EVM兼容的链受益于多年的以太坊开发,并且在开发环境方面有许多久经考验的选择。

1.Hardhat

一个允许开发人员编译、测试、部署和调试以太坊软件的JavaScript软件开发环境,Hardhat可以通过灵活的插件进行扩充,使开发人员能够轻松地自定义本地区块链开发环境,并附带用于故障排除和调试的强大文档集。

2.Truffle

Truffle、Ganache和Drizzle三种不同的基于javascript的开发工具套件——Truffle帮助构建者编译、测试和部署EVM代码,同时还为前端dApp开发提供工具。

API3增值服务Chain API集成Airnode,将提供无代码Web3部署服务:6月22日消息,预言机解决方案API3增值服务Chain API集成Airnode,使API提供商能够在更广泛的区块链空间中自我集成和部署预言机。据悉,Airnode作为一个开源网关,允许API直接连接到web3,而无需持续管理或使用第三方。因此,利用Chain API的企业将拥有对部署的预言机和链上数据的第一手控制权,从而获得其Web3业务的完全权限。(CryptoNinjas)[2022/6/22 4:44:19]

Truffle-主要的开发环境、测试框架和部署管道

Ganache-允许开发人员快速创建本地区块链

Drizzle-各种前端库,用于将前端组件与智能合约连接起来

3.Brownie

作为用于EVM开发的基于Python的框架的Hardhat或Truffle的替代方案,Brownie提供了一整套Web3开发工具,主要由web3.py包构建,用于编译、测试和部署dApp。

非EVM区块链

最近,开发人员开始在不遵循以太坊框架的区块链上构建更多的dApp,因此不兼容EVM。

非EVM网络工程师认为,EVM链过于受以太坊框架的限制,而是选择通过设计新结构来进行创新。通常,非EVM区块链从一开始就设计为具有数据和交易可扩展性,并允许每秒高交易量(TPS)。

非EVM区块链示例

Flow-第1层使用Cadence,Flow的原生面向资源的编程语言

NEAR-第1层使用Rust或Assemblyscript进行智能合约

掌柜调查署 | Buster:分片技术的发展让Web3.0的基础设施更加扎实:在今日举行的《掌柜调查署 | Near分片技术如何引领web3.0时代》直播中,Buildlinksbqfa合伙人、Near中国首个大使Buster表示,分片是数据库领域中存在了很久的一个概念,可以帮助信息系统水平扩展性能。区块链使用分片的理念进行扩展是情理之中的。NEAR的创始人之一Alex之前就开发过可商用的分片数据库系统,在这方面有可沿用的经验,这使得NEAR的分片设计与工程实现相比其他项目有一定的优势。分片技术之所以是大方向,是因为区块链要有更大规模的使用,性能的提升是绕不开的。提升单条链的性能是有极限,而且通常是不经济的。因此要扩容区块链也是通过分片和优化分片性能的方式为最好。分片技术的发展让Web3.0的基础设施更加扎实,这从长远来看是非常重要的。

性能就是未来开放网络的马力,而NEAR就是发动机,有了好的发动机,别的零部件改改都不是大事。[2020/8/14]

Solana-使用RustC、C++的第1层智能合约

Terra-将Rust用于智能合约的第1层

非EVM区块链开发环境

虽然非EVM链的开发环境不太成熟,但一些网络已经开始为各自的链带头开发工具。

Flow使开发人员能够使用本地VisualStudioCodeExtension测试Cadence智能合约的错误,这是最流行的IDE之一。

另一个非EVM开发环境的例子是Anchor,它允许构建和测试Solana合约,具有与Solidity和Truffle类似的感觉。总的来说,Anchor的环境降低了Rust和Solana开发的障碍。

我应该使用什么区块链网络?

世界教育区块链协会(WEBA)于6月16日在新加坡正式启动:由EduCoin主办的首期“教育+区块链”智汇论坛于6月16日在新加坡举行,世界教育区块链协会(World Education Blockchain Association)也在本次活动中正式启动。WEBA为非营利性的国际组织,由全球区块链平台企业、区块链服务机构、金融服务机构、教育服务机构、具备条件转型升级的传统企业、相关科研院所、高校及有关专家学者等自愿参加的国际性区块链行业组织。汇集区块链及教育界的资深从业者和兴趣爱好者,共同探讨区块链教育相关问题,以促进世界区块链教育行业可持续发展。

WEBA将定期举办论坛、峰会等业界交流活动,定期和不定期举办区块链的技术研讨和技术培训课程,促进区块链的技术交流,应用推广和资源整合,帮助人们理解区块链技术的特性及培养具有未来视野和历史使命的区块链专业人才,共建全球教育区块链生态。[2018/6/16]

由于单个区块链通常具有独特的架构和共识机制,因此它们将不可避免地针对特定用例进行更好的优化。因此,我们坚信多链Web3的未来。

EVM框架是一个非常丰富的环境,因为它具有越来越多的可互操作工具。此外,EVM兼容性为用户和开发人员提供了一个更流畅的流程,用于通过跨链dApp移动流动性,并提供熟悉的用户和开发人员体验。对于早期开发人员和新协议,我们认为围绕与EVM兼容的区块链进行开发以利用现有工具、基础设施和开发人员文档是一个令人信服的论据。

话虽如此,我们也认识到非EVM区块链对于更有经验的开发人员的利基功能、他们不断增长的社区基础以及对早期开发人员的工具支持的增加开发。

区块链交互层

选择区块链网络后,Web3堆栈的下一步是区块链交互层。该层允许开发人员和用户在区块链中读取和写入数据。

如果您不熟悉区块链的工作原理,这里有一个快速回顾。

区块链由数据块组成。

块存储在分布式节点上。

区块链中的每个节点都充当“迷你服务器”,允许其操作员读取/写入数据块。

添加到区块链的任何块都必须在网络上的所有节点上传播以保持同步。

在考虑Web3框架内的数据访问层时,请记住,链上存储是标准,因为它本质上是不可变的,并且允许任何公共个人查看/验证它。

数据提供者,如区块浏览器,是区块链交互层的关键部分。对于初学者来说,它们提供了一个进入较低网络层的窗口,并作为一个在线资源,用于检索有关交易、地址余额、gas费用等的实时和历史数据。区块浏览器通常用于查找支付的关键细节、确定不同交易的状态或简单地了解区块链使用的总体趋势。数据提供者使公众能够阅读和解释区块链。

Web3基础设施挑战

但是,如果没有适当的基础设施要求,访问区块链数据并与之交互可能会非常困难。

由于直接在链上写入数据不经济,Web3开发人员使用EVM链的内置日志记录功能,以便智能合约可以通过Solidity事件以可搜索、经济高效的方式在链上“打印”信息。虽然日志记录以获得更便宜的存储并且是读取和写入区块链的最流行方式,但它需要一个强大的区块链交互层来确保开发人员能够在事件发出时捕获它们而不会失败。

运行节点与使用节点服务提供者

从历史上看,使用区块链交互层需要运行一个自托管、自维护的节点。这是一个昂贵且耗时的过程,仅运行一个以太坊节点的平均成本为每年86,000美元。开发人员没有构建协议和dApp,而是发现自己花费工程资源来管理来自节点的错误、回归、磁盘问题、CPU流量峰值等。

运行您自己的节点的成本导致了Alchemy的创建。在其核心,Alchemy公开了一套API,供开发人员与区块链交互,而无需管理节点。

作为多链Web3的坚定支持者,Alchemy的API套件在单一熟悉的API框架内提供跨第1层、第2层、侧链和非EVM兼容的L1的多链支持.

最终,Alchemy允许区块链开发人员对整个Web3网络层进行可靠且可扩展的访问,使他们能够专注于构建Web3堆栈。

Web3表示层

在许多方面,Web3表示层密切反映了Web2开发的许多方面。

对于前端组件的创建和开发,许多开发人员转向了久经考验的React.js库。拥有大量开发人员和Web3社区的追随者,它是Web3前端的事实标准。

Web2和Web3前端堆栈不同的一个领域是用于与区块链数据交互的特定库。

在与数据访问层交互时,Web3dApp倾向于使用Ether.js或Web3.js,而不是更典型的HTTP请求库,如Axios和Fetch。特别是,Ethers.js和Web3.js都原生支持对托管在区块链交互层上的区块链节点的远程过程调用(RPC),从而能够更无缝地集成到开发人员的Web3技术堆栈中,并将数据读写到区块链中。

如何在Ether.js和Web3.js之间进行选择

在选择Ethers.js和Web3.js时,有几点需要考虑。

Ethers.js是一个更轻量级、对开发人员友好的库,具有强大的文档。虽然许多早期的开发人员和资深人士都通过Ether.js开发了dApp,但它由少数人维护,限制了库的开发。

Web3.js拥有最多的分叉/提交,并且是最常用的以太坊JavaScript库。虽然它也被广泛使用,但它缺乏Ethers文档的广度和深度,可能不适合早期的Web3开发人员。

Web3.js的另一个替代方案是AlchemyWeb3,它是一个带有额外API方法、升级的websocket支持和已启用的自动重试的分支,允许开发人员更轻松地采用。

去中心化存储

虽然区块链为去中心化状态管理、智能合约存储/执行和交易价值提供了媒介,但更高级别的应用程序需要额外的组件。对于图像、视频和GIF等前端内容,区块链存储非常昂贵且效率低下。去中心化存储填补了这一空白。

一种解决方案是星际文件系统,这是一个分布式网络,由个人存储和共享文件、网站、应用程序和数据的节点组成。随着NFT的兴起,IPFS的使用量激增,并经常作为NFT媒体资产的底层存储介质。

另一个流行的去中心化存储解决方案是Arweave,旨在激励个人永久存储数据。通过Arweave网络,矿工提供存储空间以换取代币,协议本身确保存储的数据在所有节点之间保持正确和一致。

Web3应用层

在Web3的上下文中,应用层涵盖DeFi、NFT、身份和认证、数据和分析以及许多其他令人兴奋的dApp类别。总之,这些分散的Web3应用程序包括一些最大的本地Web3公司,如OpenSea、Uniswap和Aave。

作为开发人员,这通常是最有趣的构建层。不同的去中心化应用程序可以混合搭配在一起,将强大的原语组合成新的、复杂的产品。

应用层主要允许公共消费者轻松地与直观的前端交互。最终,用户友好的前端使公众能够在日常生活中利用去中心化的互联网。

立即开始在Web3堆栈上构建

随着Web3从当前状态发展到成熟,肯定会有范式转变、新的Web3基础设施工具和大量需要学习的东西。鉴于Web3技术栈的不断变化,开始使用它进行开发似乎令人生畏,但在Web3技术栈中定义的层仍然存在。

加入越来越多的开发者运动——包括Web3本地人和来自Web2的同路人——我们可以一起建设未来!

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

地球链

酷币TUR:一文速览风投机构NGC Ventures的加密布局

GameFi、元宇宙、NFT的不断火爆,吸引众多品牌、公司及投资机构纷纷入场,其中著名的加密VC机构,以其投研化和专业化,在推动生态创新与资源合理配置方面发挥越来越大的作用.

[0:15ms0-0:913ms