WEB:了解了这些 去做个Web3.0的开发者吧

原文标题:《定义 web3 堆栈》

原文作者:Nader Dabit

原文编译:The Graph 社区成员

想在 web3 上进行构建?Nader Dabit 在一份介绍性指南中指出了 web3 技术堆栈的构建模块

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

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

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

API/应用服务器(REST 或 GraphQL)

验证层(托管或手动)

数据库

客户端框架、平台和库

文件存储

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

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

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

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

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

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

什么是 web3?

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

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

美国金融犯罪执法网络希望了解更多隐私技术:美国金融犯罪执法网络(FinCEN)希望加深对隐私技术工作原理的理解,包括对某些区块链协议的管理。根据周三发布的一份新闻稿,FinCEN计划在9月9日举办一个虚拟项目,并邀请“开发隐私问题解决方案”的公司参与。FinCEN表示,此次会议将重点讨论“隐私保护原则”在开发技术解决方案中所扮演的角色,这些技术解决方案将增加金融服务的创新,同时应对有关非法活动和国家安全风险。(Coindesk)[2021/5/27 22:50:34]

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

web3 的一些特点是:

去中心化的网络基础设施

所有权(数据、内容和平台)

本地数字支付

自主的身份

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

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

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

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

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

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

区块链

区块链开发环境

P2P 数据库

API(索引和查询)

身份

客户端 (框架和库)

其他协议

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

多数去中心化网络开发者并不十分了解去中心化网络:6月9日消息,去中心化数据聚合器Fluence Labs发布的一项针对去中心化网络开发人员的调查显示,大多数去中心化网络项目都是自筹资金的。受访者表示,普通用户缺乏对去中心化网络(DWeb)的了解,是项目发展面临的最大的挑战之一。此外,调查还显示,负责开发去中心化网络的开发者并不十分了解去中心化网络是什么,他们对DWeb中的“D”(Decentralized)所代表的意义存在分歧。(Decrypt)[2020/6/9]

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

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

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

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

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

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

Optimistic rollups: Arbitrum & Optimism - 以太坊第 2 层,与 EVM 兼容(在此了解更多关于 Optimistic rollups 和 ZKrollups 的区别)。

加密借贷平台BlockFi创始人:监管机构必须了解比特币和现金之间的根本区别:近日,许多加密爱好者对这些严格的加密规定表示担忧。加密借贷平台BlockFi联合创始人Flori Marquez对此表示,她认为监管机构必须了解比特币和现金之间的根本区别,然后引入监管。她称:“监管机构需要一点时间来理解比特币和现金之间的根本区别,我们必须让他们了解比特币和其他加密资产的运作方式,然后我们需要让他们思考这些资产以及应该如何监管它们。”(Ambcrypto)[2020/4/18]

Polygon - 以太坊侧链

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

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

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

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

Fantom - EVM 兼容的底层区块链

Avalanche - EVM 兼容的底层区块链

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

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

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

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

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

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

声音 | LedgerX前首席执行官:董事会的其他人不了解计算机科学、比特币和衍生品:金色财经报道,加密货币衍生品平台LedgerX今天宣布,其联合创始人Paul和Juthica Chou已被行政停职。对此,此前担任首席运营官的Juthica Chou刚刚发推文称,除了我们与董事会就业务愿景和方向存在长期分歧外,(LedgerX)没有给出任何其他原因。Juthica还通过电子邮件告诉CoinDesk,董事会的组成难以捉摸。董事会中没有其他人了解计算机科学、比特币和衍生品,这使得这些冲突和分歧常常很难解决。[2019/12/10]

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

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

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

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

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

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

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

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

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

)2、const content = await ens.name('sha.eth').getText('avatar')SpruceID 也是一个看起来很有前途的东西,但我还没有试过。

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

就 JavaScript 框架而言,你真的可以用任何你想要的东西来构建,因为客户端的区块链 SDK 大多是框架无关的。也就是说,绝大多数的项目和例子都是在 React 中构建的。还有一些像 Solana Wallet Adapter 这样的库,为 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 发生的所有活动,让人兴奋不已,因为开发者们正在跃跃欲试地参与进来。虽然基础设施仍在不断发展,但建立真正的去中心化协议和应用程序的愿景是非常重要的,它允许人们协调,而不必将权力和控制权交给大公司,我们正在接近实现这一愿景。

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

金星链

世界币稳定币:Web 3.0:新型网络时代来临

2021年,国内元宇宙火出了圈,国外则在热议Web 3.0。特别是2021年12月美国国会听证会上也对Web 3.0展开了讨论,国会议员对Web 3.0积极和正面的看法令人惊讶.

狗狗币最新价格DAO:解析Web3世界的可组合性

什么是可组合性?可组合性是系统的组件重新组合成更大的结构并将一个的输出作为另一个的输入的一般能力。简单来说,最好的例子是乐高,乐高的每一部分都可以连接到其他部分.

[0:0ms0-1:134ms