宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > BNB价格 > 正文

一文了解Web3 技术堆栈的构建模块

作者:

时间:1900/1/1 0:00:00

原文标题:《定义web3堆栈》原文作者:NaderDabit原文编译:TheGraph社区成员想在web3上进行构建?NaderDabit在一份介绍性指南中指出了web3技术堆栈的构建模块

在「web3上构建」的下一章节中,Edge&Node开发者关系工程师NaderDabit阐述了web3堆栈,以及开发者如何将在web3上构建的各个层面概念化。

我在2021年4月过渡到web3,此前我做了大约10年的传统全栈开发者。在潜心研究所有这些新技术和想法时,我想知道的第一件事是「什么是web3堆栈?」。

当构建一个传统的网络或移动应用程序时,我经常依赖某几个构建模块来完成工作:

-API/应用服务器

-验证层

-数据库

-客户端框架、平台和库

-文件存储

使用这些核心组件,我可以建立我想要的大多数类型的应用程序,或者至少可以达到大部分的目的。那么,这在web3中是什么样子的呢?

事实证明,这个问题的答案并不那么直截了当,因为:

-此范式在很多方面都完全不同

-web3的工具、技术和生态系统都没有web2那么成熟

对我来说,也更难理解如何启动、运行和建立web3应用程序,因为我是以与web2世界相同的方式来处理问题的。

在过去8个月左右的时间里,经过工作、研究、实验和建设,我想和大家分享一下我的心得。

什么是web3?

在我们定义web3堆栈之前,让我们试着定义一下web3:

Web3是实现完全去中心化的应用的协议栈。

有了这个去中心化的技术栈,我们就可以开始构建去中心化的应用,这些应用有其自身的意义和特点。

调查:大多数人根本不知道Web3是什么:金色财经报道,在民意调查公司YouGov与以太坊软件公司Consensys最近进行的一项调查中,全球各地的人们被问及他们对新兴技术的认识、他们对互联网经济状况的看法。调查发现,即使听说过,也没有多少人知道Web3是什么。在4月26日至5月18日期间对15个国家的15,000多人进行了调查。他们被问到了32个问题,与Web3、加密货币以及他们对当前互联网生态系统的看法有关。调查显示,全球24%的受访者表示至少了解Web3,但只有8%的人表示非常熟悉,16%的人表示有些熟悉。相比之下,37%的人表示他们根本不知道Web3。[2023/6/28 22:04:25]

web3的一些特点是:

-去中心化的网络基础设施

-所有权

-本地数字支付

-自主的身份

-分布式的、无需信任的、强大的基础设施

-开放、公共、可组合的后端

虽然一些建立在去中心化技术堆栈上的应用程序将取代它们的前辈,但区块链启用的新源语也使新的应用程序范式成为可能。

原生的数字支付和公共后端基础设施--如机器学习、移动设备、虚拟现实和其他技术源语、平台和构建模块--使全新类型的应用程序得以建立,有些是尚未想象到的。

这是否意味着一切都将被web3取代?不一定。虽然我认为对于某些类型的应用程序来说,建立在去中心化的技术堆栈上是一个更好的选择--就像几乎任何技术决定一样,这取决于你要建立什么。

现在让我们开始深入了解web3的堆栈,分成以下几类:

-区块链

-区块链开发环境

-文件存储

-P2P数据库

-API

香港将成立虚拟资产发展专责小组:金色财经报道,香港将成立虚拟资产发展专责小组,推动Web3生态圈的发展。[2023/2/22 12:21:34]

-身份

-客户端(框架和库)

-其他协议

区块链

有无数的区块链,你可以选择建立在其上。没有一个是"最好的",相反,你应该考虑它们之间的各种权衡。

在学习新东西时,有一件事对我来说常常很重要,那就是将帕累托原则应用到我所学的东西上。也就是说,什么是最有效的方式来获得该数量的时间和努力的结果。遵循这个想法,我可以在最短的时间内学习新东西的同时获得最大的牵引力和动力。

在区块链领域,学习Solidity和EVM可能是作为区块链开发者入门时的最佳选择。使用这种技能,你不仅可以为以太坊,而且可以为其他以太坊第二层、侧链,甚至其他区块链构建。

也就是说,Rust在区块链领域开始变得越来越流行,Solana、NEAR、Polkadot等都有一流的Rust支持。你学习这两种语言可能都不会出错,但对于初学者来说,如果今天有人问我,我会说Solidity仍将是更好的选择。

除了这些建议,这里有一个不全面的区块链样本,它在技术、实用性、社区、势头和未来可行性方面有一个坚实的组合:

-以太坊--原创智能合约平台

-ZKrollups:ZKSync,Starknet,Hermez-高吞吐量的以太坊第2层,但不与EVM原生兼容

-Optimisticrollups:Arbitrum&Optimism-以太坊第2层,与EVM兼容。

-Polygon-以太坊侧链

-Solana-吞吐量高,交易成本低,区块时间快,但比EVM更难学习

以太坊开发者:扩容解决方案EIP-4844的Devnet 3将于11月30日发布:11月25日消息,以太坊开发者、Arbitrum研发团队的terence.eth发推称:“今天,我们正在密切合作,在Capella 硬分叉之上重新构建EIP-4844,添加所有新的网络更改,并集成新的KZG库。我们很高兴为EIP-4844启动Devnet 3,计划于11月30日发布。Arbitrum完全支持EIP-4844并且相信以Rollup为中心的路线图。由于它将通过降低数据gas费用从4844中获益,因此会有很大的协同作用。”

据悉,EIP-4844由Coinbase、Prysm以及Worldcoin的开发人员联手测试、实施和发布,该提案建议用proto-danksharding代替扩容解决方案Danksharding。该提案致力于在尚未实际实施任何分片的情况下,部署构成完整Danksharding规范的大部分逻辑和交易格式及验证规则。Arbitrum开发商Offchain Labs于今年10月份收购了Prysm核心工程团队Priysmatic Labs。

此前今日早些时候消息,EIP-4844等8项EIP纳入时间未定的以太坊上海升级考虑范围,让EIP“考虑纳入”(CFI) 意味着开发人员将致力于制定这些提案,并将通过开发者网络(Devnet) 的测试运行它们。然而,不能保证所有这些提议最终都会被纳入上海升级。[2022/11/25 12:34:03]

-NEAR-底层区块链,可以用Rust或Assemblyscript编写智能合约

-Cosmos-一个互操作的区块链的生态系统

-Polkadot-基于区块链的计算平台,使建立在其上的区块链能够在它们之间执行交易,创建一个互连的区块链互联网

-Fantom-EVM兼容的底层区块链

-Avalanche-EVM兼容的底层区块链

韩国监管机构已查出通过加密交易所进行的异常境外汇款规模达33.7亿美元:7月27日消息,韩国金融监管服务局(FSS)副局长???就“大额海外汇款相关银行检查进行情况”举行新闻发布会表示:“已经确认,大部分汇款交易都是由韩国虚拟资产交易所转账的资金存入贸易公司账户后汇往海外。”金融监督院以友利、新韩两家银行为对象,截至目前掌握的以上外汇汇款交易规模为4.1万亿韩元(33.7亿美元),比当初这些银行向金融监督院报告的规模2.5万亿韩元大幅增加。涉及大额海外汇款的企业也从最初报告的8家增加到22家。FSS计划在未来采取进一步行动,根据银行的自查结果以及未来的进一步调查,将“异常境外汇款”公司通知检方和韩国海关总署。(韩联社)[2022/7/27 2:40:17]

-Celo-EVM兼容的底层区块链,旨在使任何拥有智能手机的人都能轻松发送、接收和存储加密货币

-Tezos-非EVM兼容的底层区块链,很多NFT项目正在使用它

区块链开发环境

对于EVM开发,有几个好的开发环境可以使用:

-Hardhat是一个较新的选择,但它正在获得越来越多的青睐。他们的文档很好,工具和开发人员的体验很好,我个人一直在用它来构建去中心化应用。

-Truffle是一套在EVM上构建和开发应用程序的工具。它很成熟,经过实战考验,并且有很好的文档。它已经存在了一段时间,许多开发者都在使用它。

-Foundry是一个来自Paradigm的新的Solidity开发环境,显示出很大的前景。它的主要特点是能够在Solidity中编写测试,支持模糊测试,以及速度。我在这里写了一个关于它的单独介绍。

-Brownie是一个基于Python的智能合约开发和测试框架,用于Solidity/EVM开发。

对于Solana的开发,Anchor正在迅速成为新的开发者的入门点。它提供了一个CLI,用于构建和测试Solana程序的脚手架,以及你可以用来构建前端的客户端库。它还包括一个DSL,可以抽象出开发人员在开始使用Solana和Rust开发时经常遇到的许多复杂问题。

Ripple开发部门RippleX开展原生NFT功能测试:7月6日消息,根据Ripple开发部门RippleX发布的最新消息,其开发团队现在对XRP Ledger支持NFT XLS-20标准的能力充满信心。

此前,Ripple升级了服务,以便让验证者投票支持实施上述标准。开发团队开始测试XRPL是否能够支持NFT带来的额外交易负载。当进行XRP支付时,RippleX团队能够达到每秒2199笔交易的峰值持续吞吐量。

开发团队还通过创建100万个账户(每个账户铸造20个NFT)来测试NFT的吞吐量。在此之后,RippleX还衡量了XRP的支付情况、NFT交易以及铸造情况。

需要注意的是,这些测试是在理想的环境中进行的,具有合成的工作负载。这意味着上述数字并不能反映该网络的真实表现,因为在一个站点中只有5个验证器运作。相比之下,实时的网络有数百个节点在全球各地运行。(U.Today)[2022/7/6 1:54:35]

文件存储

我们在web3中把图片、视频和其他文件存储在哪里?在链上存储这么大的文件通常是非常昂贵的,所以我们可能不想把它们存储在那里。

相反,我们可以使用少数几个文件存储协议中的一个:

-IPFS--点对点文件系统协议

-优点:它很可靠,有很好的文档,有一个庞大的生态系统

-缺点:如果数据没有固定,就会丢失。

-Arweave-允许你永久地存储数据,只需支付一笔交易费。我是Arweave的粉丝,在这里写了一篇关于它的博文。

-Filecoin-来自ProtocolLabs,也是建立IPFS的团队,它是一个协议,旨在提供一个持久的数据存储系统。有一些方法可以让开发者建立在Filecoin上,包括web3.storage,这很不错。

-Skynet-我还没有在生产中使用它,但已经试过了,它似乎工作得很好。这里的API看起来很棒。我有一些问题,比如数据的持久性有多长,以及Skynet与其他协议的互操作性。

P2P数据库

除了文件存储和链上存储外,你可能还需要在链外存储数据。你可以使用这些类型的解决方案,类似于你在传统技术堆栈中使用数据库的方式,但它们是在去中心化的网络上的N个节点上复制的,因此更可靠。

几个选择是:

-CeramicNetwork-一个去中心化的开源平台,用于创建、托管和分享数据。Ceramic也有一个很好的身份协议,我将在后面谈及。可能是我目前最喜欢的链外存储解决方案。这里有一个相当不错的演示。

-TextileThreadDB-一个建立在IPFS和Libp2p上的多方数据库。如果我理解正确的话,它目前可能正在经历一个大的API变化。我试过了,它显示了一些前景,但文档和DX需要一些改进。

-GunDB-一个去中心化的、点对点的数据库。Gun已经存在了相当长的时间,一些相当有趣的应用已经用它建立。

就成熟度而言,我的看法是,链外存储解决方案的生态系统还没有达到建立一些开发者可能想要的更高级的用例所需要的程度。这里的一些挑战是实时数据、冲突检测和冲突解决、写入授权、文档和一般开发者经验。

将链外数据解决方案与区块链协议相结合,是我们在拥有能够支持任何类型应用的完全去中心化协议栈之前需要跨越的最后一个大障碍之一。

API

我们与区块链互动和在区块链之上构建的方式与传统技术栈中的数据库有很多不同。对于区块链,数据不是以一种可以有效或容易地直接从其他应用程序或前端消费的格式存储的。

区块链是为写操作而优化的。你经常听到以每秒交易量、区块时间和交易成本为中心的创新发生。区块链数据在一段时间内以区块形式写入,使得除了基本的读取操作外,其他的都不可能。

在大多数应用中,你需要像关系型数据、排序、过滤、全文搜索、分页和许多其他类型的查询功能。为了做到这一点,需要对数据进行索引和组织,以便有效地进行检索。

传统上,这是数据库在集中式技术栈中所做的工作,但在web3栈中缺少索引层。

TheGraph是一个用于索引和查询区块链数据的协议,它使这一过程变得更加容易,并为这样做提供了一个去中心化的解决方案。任何人都可以建立和发布开放的GraphQLAPIs,称为子图,使区块链数据易于查询。

要了解更多关于TheGraph的信息,请查看这里的文档或我在这里的教程。

身份认证

在web3中,身份认证是一个完全不同的范式。在web2中,认证几乎总是基于用户的个人信息。这些信息通常是通过一个表单或OAuth提供者收集的,要求用户交出这些信息以换取对应用程序的访问。

在web3中,身份识别完全围绕着钱包和公钥密码学的概念。

虽然"钱包"这个名字有它的作用,但我发现刚接触web3的人觉得这个术语很混乱,因为它与认证和身份有关。我希望将来我们能想出一些其他的方法来表达钱包是什么,因为它不仅结合了金融的各个方面,也结合了身份和信誉。

作为一个开发者,你将需要了解如何以各种方式访问用户的钱包和地址并与之互动。

在一个非常基本的层面上,你可能想请求访问用户的钱包。要做到这一点,你通常能够在窗口环境中访问用户的钱包,或者使用像WalletConnect或Solana的钱包适配器。

例如,如果他们有一个可用的Ethereum钱包,你将能够访问window.ethereum。对于Solana、Arweave和其他少数的钱包也是如此。WalletConnect很适合移动网络和ReactNative,因为它允许用户直接从设备上使用他们的移动钱包进行授权。?

如果你想自己处理认证,你可以让用户签署交易,然后在某处解码以认证用户,但这通常需要一个服务器。这里是一个使用EVM钱包的例子,这里是一个使用Solana/Phantom的例子。

以去中心化的方式管理用户资料呢?CeramicNetwork为管理去中心化的身份提供了最强大的协议和工具套件。他们最近发布了一篇博文,概述了他们最近的一些更新,并给出了一些关于所有工具如何协同工作的指南。我想从那里开始,然后探索他们的文档,以获得对如何开始构建的理解,并考虑查看我在这里使用Ceramicself.id的例子项目。

如果你想获取一个用户的ENS文本记录,ensjs库提供了一个很好的API来获取用户数据:

SpruceID也是一个看起来很有前途的东西,但我还没有试过。

Ceramic和Spruce都实现了W3C的DID规范,这本身也是我认为是web3的一个组成部分。既然如此,任何DID的集中实现都违背了该规范试图实现的理念。

客户端

就JavaScript框架而言,你真的可以用任何你想要的东西来构建,因为客户端的区块链SDK大多是框架无关的。也就是说,绝大多数的项目和例子都是在React中构建的。还有一些像SolanaWalletAdapter这样的库,为React提供额外的工具,所以我说学习或熟悉React可能是一个明智之举。

对于以太坊的客户端SDK,有web3.js和ethers.js。对我来说,Ethers更容易接近,并且有更好的文档,尽管web3.js存在的时间更长。

在Solana,你可能会使用@solana/web3.js和/或Anchor。我发现Anchor客户端库是我构建Solana程序的首选,因为我反正也在使用Anchor框架,而且我发现它比@solana/web3.js更容易理解。

其他协议

Radicle是一个建立在Git上的去中心化的代码协作协议。它可以被认为是GitHub的一个去中心化版本。

Livepeer是一个去中心化的视频流媒体网络。它已经很成熟,并被广泛使用,网络上有超过7万个GPU的直播。

Chainlink是一个预言机,能够访问真实世界的数据和链外计算,同时保持区块链技术固有的安全性和可靠性保证。

总结

这篇文章将是我在学习、试验和收集web3开发人员的反馈时跟上的动态文档。

如果你有任何反馈意见或关于我在这里遗漏的想法,请与我分享你的想法。看到围绕web3发生的所有活动,让人兴奋不已,因为开发者们正在跃跃欲试地参与进来。虽然基础设施仍在不断发展,但建立真正的去中心化协议和应用程序的愿景是非常重要的,它允许人们协调,而不必将权力和控制权交给大公司,我们正在接近实现这一愿景。

标签:WEBWEB3区块链SOLWEBN价格web3域名.tid区块链存证平台法院sol币能涨到1万一个

BNB价格热门资讯
中国电信研究院新兴技术研究所梁伟:区块链+网络是通往元宇宙的必要基石

巴比特讯,12月26日下午,在2021CCF中国区块链技术大会《区块链技术融合创新》分论坛上,中国电信研究院新兴技术研究所副所长梁伟分享了《基于区块链的6G近域网络资源共享探索》主题报告.

1900/1/1 0:00:00
赋能加密三国,普通NFT稀有度详解

什么是加密三国 加密三国英雄数字藏品是基于中国三国时期的历史英雄创建的2100枚具有11组属性值的NFT,包含稀有NFT100枚,普通NFT2000枚。它们是生长在Bytom链上的具有繁殖功能的NFT.

1900/1/1 0:00:00
2021年终盘点:全球 15 个最具影响力的加密城市

原文作者|JeffBenson,ScottChipolina,JasonNelson 编译整理|白泽研究院 从加密交易所Coinbase上市,到萨尔瓦多将比特币作为法定货币,加密行业在2021年完成了数字世界与现实世界融合的蜕变.

1900/1/1 0:00:00
融资新闻丨区块链公司 BlockSpaces完成575万美元融资,Leadout Capital 领投

1月4日,总部位于美国佛罗里达州坦帕的区块链公司BlockSpaces宣布已完成575万美元的风险种子轮融资.

1900/1/1 0:00:00
俄罗斯中央银行计划在1月假期后开始对CBDC进行试点

据Bitcoin.com12月23日消息,俄罗斯中央银行正在准备一份报告,详细阐述其对加密货币的看法.

1900/1/1 0:00:00
三问元宇宙:是炒作还是趋势?能带来什么?适合普通人投资吗?

“当前时间点,很难给出元宇宙的短期受益投资标的。”文|?常涛?赵佳然?林坚 编辑|赵佳然 审校|魏薇 来源:中新经纬 当我们谈论元宇宙时,我们在谈论什么?游戏?虚拟房地产?还是刚刚被盯上的远程会议?这些是元宇宙的本质吗?大火的元宇宙究.

1900/1/1 0:00:00