区块链:Web3 堆栈开发人员指南_以太坊

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

首先,作为开发人员和构建人员,我们在理解去中心化时,通常会提起碎片化的技术堆栈概念。虽然Web3仍然处于新生阶段并在迅速发展,但我们发现它的基础构件已经开始成形。

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

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

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

网络层:基础区块链架构

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

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

NFT交易平台Magic Eden已接入OKX Web3钱包:4月26日消息,据官方消息,OKX Web3 钱包与 NFT 交易平台 Magic Eden 达成官方合作,用户可通过连接 OKX Web3 插件钱包在 Magic Eden 交易 NFT。同时 OKX Web3 钱包的 Discover 板块也收录了 Magic Eden,用户可在 OKX Web3 钱包内进入 Magic Eden 探索、铸造和交易 NFT 等。

据悉,OKX Web3 钱包是最全面的异构多链钱包,已支持近 60 条公链,App、插件、网页三端统一。[2023/4/26 14:28:18]

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

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

以太坊- 原始 EVM 智能合约平台

Polygon?- 以太坊侧链

Arbitrum?- 使用 Optimistic rollups和多轮欺诈证明的L2区块链

Optimism?- 使用 Optimistic rollups 和单轮欺诈证明的L2区块链

Hermez?- 由 Polygon 管理的 ZK-rollups以太坊L2网络

ZKSync?- 使用 SNARK 的 ZK-rollups以太坊L2网络

TTV Capital旗下第六支基金完成2.5亿美元募资,拟投资Web3等领域:3月20日消息,TTV Capital宣布旗下第六支基金完成2.5亿美元募资,该基金最初设定的融资目标为1.5亿美元,目前已超额认购1亿美元,新基金拟在支付、投资、Web3和嵌入式金融等领域的早期金融科技公司进行投资。

TTV Capital是一只专注于专门投资于金融服务生态系统公司的早期金融科技基金,其投资组合包括加密投资应用Streetbeat、Web3社交游戏发行商Carry1st、稳定币跨境支付解决方案提供商Higlobe、加密税收和会计平台Ledgible等。(Prnewswire)[2023/3/20 13:14:25]

Starknet?- 使用 STARK 的 ZK-rollups以太坊L2网络

Avalanche?- 与 EVM 兼容的L1

Cronos?- 与EVM 兼容的L1

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

Hardhat

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

Truffle

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

Web3数据平台Space and Time加入英伟达初创加速计划:11月11日消息,Web3原生数据平台Space and Time已加入英伟达初创加速计划Nvidia Inception。据悉,Nvidia Inception旨在帮助在人工智能、医疗保健和智慧城市等领域技术发展前沿的初创公司加速产品采用。Space and Time旨在将链上和链下数据结合到一个平台中,使企业能够进行企业级分析并进行快速交易。

今年7月份,Space and Time完成1000万美元融资,Framework领投。9月份,Space and Time完成2000万美元战略融资,微软M12基金领投。[2022/11/11 12:50:35]

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

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

Drizzle——各种前端库,用来连接前端组件和智能合约

Brownie

作为基于python框架的,用于EVM开发的替代品,Brownie提供了一套完整的Web3开发工具,主要基于Web3 .py包构建,用于编译、测试和部署dApp。

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

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

Flow?- L1,使用 Cadence,Flow 的原生的面向资源的编程语言

Web3创作者投资平台Exceed完成800万美元种子轮融资:金色财经报道,Web3创作者投资平台Exceed宣布完成800万美元种子轮融资,BRM Group领投,线上风险投资平台Our Crowd等参投。

据悉,Exceed的产品利用Web3元素来增强粉丝参与度和游戏化,通过将创意人员、投资者和粉丝聚集在一起,帮助所有人在其平台上进行创作。

在本轮融资完成后,该公司还宣布任命音乐行业资深人士Anthony Martini担任总裁,他曾在Royalty Exchange担任首席执行官。[2022/10/13 10:33:13]

NEAR?- L1,其智能合约使用 Rust 或 Assemblyscript?

Solana?- 使用 Rust C、C++ 的L1智能合约

Terra?- 将 Rust 用于智能合约的L1

虽然对于非EVM链有一些开发环境还不太成熟,但一些网络已经开始为各自的链提供开发工具。

Flow让开发者能够使用原生的Visual Studio Code Extension测试Cadence智能合约的漏洞。

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

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

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

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

考虑到可互操作工具的日益多样化,EVM框架是一个极其丰富的环境。此外,EVM兼容性为用户和开发人员提供了一个更流畅的过程,可以通过跨链dApp移动流动性,并提供了熟悉的用户和开发人员体验。对于早期的开发人员和新协议,我们相信围绕EVM兼容的区块链进行开发,利用现有的工具、基础设施和开发人员文档,是一个令人信服的条件。

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

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

区块链交互层:用于向区块链网络读取/写入数据的开发人员构建块。

如果我们不熟悉区块链是如何工作的,这里有一个快速的回顾。

区块链由数据区块组成。

区块存储在分布式节点上。

区块链中的每个节点都充当一个“迷你服务器”,它允许操作者读写数据区块。

添加到区块链的任何区块都必须在网络上的所有节点之间传播,以实现同步。

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

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

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

由于直接在链上写入数据不具有成本效益,Web3开发人员使用EVM链的内置日志功能,这样智能合约就可以通过solidity事件以一种可搜索、成本效益高的方式在链上“打印”信息。虽然日志记录可以降低存储成本,并且是对区块链进行读写的最流行方式,但它需要一个强大的区块链交互层,以确保开发人员能够在事件发出时捕获它们。

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

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

作为一个多链Web3的坚定支持者,Alchemy 的 API 套件在单一熟悉的 API 框架内提供跨L1(包括以太坊网络)、L2(包括 Arbitrum 和 Optimism)、侧链(包括 Polygon)和非 EVM 兼容的 L1(如 Flow)的多链支持。

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

表示层:更高级别的软件抽象和前端库

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

为了创建和开发前端组件,许多开发人员转向历经过检验的React.js库。有了大量的开发人员和Web3社区的追随者,它已经成为事实上的Web3前端的标准。

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

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

在决定是选择Ether.js 还是 Web3.js时,有几点需要考虑。

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

Web3.js拥有最多的分叉/提交,也是被使用最多次的以太坊javascript库。虽然它也被广泛使用,但它缺乏ether文档的广度和深度,可能不是早期Web3开发人员的最佳选择。

Web3.js的另一个替代品是Alchemy Web3,它是一个带有附加API方法、升级的websocket支持和自动重试功能的分支,允许开发者更轻松地采用。

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

一种解决方案是IPFS (Interplanetary File System),这是一个由节点组成的分布式网络,每个人在其中存储和共享文件、网站、应用程序和数据。随着NFT的兴起,IPFS的使用激增,经常作为NFT媒体资产的底层存储介质。

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

在Web3的背景下,应用层涵盖了DeFi、NFT、身份与认证、数据与分析以及许多其他令人兴奋的dApp类别。总之,这些去中心化的Web3应用包括一些最大的Web3公司,如OpenSea、Uniswap和Aave。

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

应用层主要允许公共消费者(其中许多人可能不完全理解Web3开发的复杂性)轻松地与直观的前端交互。最终,用户友好型前端让公众能够在日常生活中利用去中心化的互联网。

总结

随着Web3从目前的状态发展到成熟,肯定会有范式的转变,新的Web3基础设施工具,以及很多需要学习的东西。

Source:https://www.web3.university/article/web3-stack

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

大币网

NEARNFT:如何计算NFT的稀有度?_ELE

NFT已经成为区块链领域中被广泛接受的项目。根据coinmarketcap的数据,其总市值超过105亿美元,预计到2026年这一趋势将增长到1470亿美元以上.

[0:0ms0-7:448ms