开发人员必须知道的基本 Web3 工具和技术(web开发工具有哪些)

探索 Web3,它为何重要,以及它与 Web2 有何不同。看看有抱负的 Web3 开发人员应该熟悉的技术堆栈以开始使用。

Web3 是网络的下一次迭代。与由静态网页组成的 Web1 和为我们带来 Web 应用程序和 Web 作为平台的 Web2 不同,Web3 由建立在区块链上的去中心化网络组成。

对 Web3 开发人员的需求很高,因为目前相对较少的开发人员是该领域的专家。因此,如果您是一位想要打入 Web3 的成熟 Web2 工程师,您会从哪里开始呢?要了解哪些基本概念,您需要学习哪些工具和技术?

在本文中,我们将探讨 Web3、它的重要性以及它与 Web2 的区别。然后,我们将看看有抱负的 Web3 开发人员应该熟悉的技术堆栈以开始使用。

web3 101

在深入研究 Web3 应用程序中使用的技术之前,让我们首先了解 Web3 是什么以及它为何如此重要。

Web3 的五个关键特性是去中心化、区块链、安全性、可扩展性和隐私。在 Web3 的去中心化世界中,区块链技术和其他协议从根本上改变了数据的存储、分发和访问方式,同时提供了一个本地事务层。Web3 的流行用例是去中心化金融(DeFi 和加密货币)、通过称为 DAO 的去中心化治理进行投票,以及作为所有权证明的不可替代代币 (NFT)。

这听起来可能有点愤世嫉俗,但 Web3 背后的许多动机都是基于用户、公司和政府之间的信任受到侵蚀。

在去中心化金融中,用户将他们的资金存储在他们的私人钱包中并进行交易,而无需与中心化机构互动或依赖国家的法定货币。

建立在区块链上的投票应用程序将使所有投票数据变得透明且易于被任何人验证,因此您不再需要相信当权者选举得到公平处理。这就是让 Web3 “无需信任”的原因:该技术是透明的,并且通过密码学得到保护,因此不需要对机构进行盲目信任。

NFT 可用于提供任何给定数字资产(如音乐或艺术)的所有权证明,并可让您更直接地支持创作者。

所有这些例子都涉及不再需要依赖中央机构或中介机构的核心活动。

需要注意的是,Web3 并不是要取代 Web2,就像 Web2 没有取代 Web1 一样。对于 Web1 中出现的静态网站,在 Web 上仍然占有重要地位。即使 Web3 越来越受欢迎和使用,Web2 应用程序也将有一席之地。

去中心化应用程序(Dapps)

我们现在大致了解了什么是 Web3 以及为什么去中心化的概念很重要,但是 Web3 应用程序实际上是什么样子的呢?

好吧,它们看起来很像 Web2 应用程序!去中心化应用程序,也称为“dapps”(或“dApps”),由与部署在区块链上的“智能合约”(一小段代码)交互的前端 UI 组成。在进行交易或将数据写入区块链时,前端还可以与用户的钱包进行交互。与 Web2 应用程序的主要区别在于,智能合约和区块链取代了由单个人或公司拥有和维护的典型服务器和数据库。

开发人员必须知道的基本 Web3 工具和技术(web开发工具有哪些)

去中心化应用架构

定义 Web3 技术栈的技术

那么,你如何真正构建一个去中心化的应用程序(dapp)?好消息是您可以从已有的编程技能和经验开始!我们已经知道 dapp 有一个前端,这意味着你需要了解 HTMLCSS 和 JavaScript。除非您喜欢使用原生 JavaScript 构建应用程序,否则您可能还想使用 Angular、React 或 Vue 等框架或库。这对于已经精通这些技术的前端开发人员来说是个好消息。

现在让我们看看您需要专门为 Web3 学习的一些语言、工具和框架:

  • Solidity是一种用于编写在以太坊区块链上运行的智能合约的编程语言。它看起来像是 C 、Python 和 JavaScript 的混合体。如果您现在已经学习了几种编程语言,那么您就会知道每次学习一门新语言都会变得更容易。由于大多数智能合约都涉及某种货币兑换,因此遵循适当的标准和安全最佳实践至关重要。
  • Truffle是一个框架,可帮助您编写、测试和部署智能合约。Truffle 网站将其描述为“使用以太坊虚拟机 (EVM) 的区块链开发环境、测试框架和资产管道”。就像 React 帮助你构建 JavaScript 应用程序一样,Truffle 帮助你构建智能合约。使用 Truffle 并不是绝对必要的,但是这个框架将极大地帮助你,因为它抽象了一些开发复杂性。对于 VS Code 用户, Truffle for VS Code 扩展使开发生命周期更加容易。
  • Ganache是用于本地开发和测试智能合约的个人区块链。它使开发人员能够通过几个简单的命令创建以太坊区块链的本地实例。就像您在本地主机或测试环境而不是在生产环境中开发 Web2 应用程序一样,Ganache 也允许您在本地进行 Web3 开发。
  • Web3.js是一个用于与以太坊交互的 JavaScript 库。您将在前端应用程序中使用 web3.js 来执行诸如连接到用户的钱包、授予对智能合约的访问权限以及调用智能合约上的函数等操作。可以通过 CLI 或 UI 访问智能合约,因此 web3.js 可以帮助您从 UI 使用智能合约。
  • MetaMask是一个 Web3 钱包,您可以使用它的浏览器扩展程序或移动应用程序。我们之前提到过钱包,但还没有真正描述它们是什么。钱包为您的数字资产提供接口。您使用只有您知道的私钥保护内容。MetaMask 为用户提供了一种安全的方式来连接到基于区块链的应用程序并与他们的钱包进行交互。对于开发人员来说,需要钱包来部署智能合约并与之交互。通常,您必须通过将您的私钥放入您的代码中来做到这一点,但Truffle Dashboard使您能够将 MetaMask 钱包连接到您的项目,而无需暴露您的密钥。
  • Infura是连接以太坊和其他区块链以及去中心化存储网络(如 IPFS)的基础设施提供商。无需过多介绍,与区块链的任何交互都需要通过 JSON-RPC 或 WebSockets 访问节点。Infura 提供了基础架构,因此您不必在您的机器上启动自己的节点。如果您确实想运行自己的节点,Infura 也可以作为备用。Infura 还提供了一个开发套件和工具包,包括监控、指标、日志记录、事务管理和其他用于构建 dapp 的功能。这是在我们已经讨论过的一些其他技术之上的进一步抽象,以使 Web3 开发更加容易。

兴奋地深入研究所有这些了吗?通过对这些技术的简要介绍,您已准备好开始构建您的第一个 dapp!那里有很多很棒的教程,每个教程都可能使用这些技术中的大部分(或全部)。为了帮助您入门,ConsenSys 团队提供了数十个“松露盒”,它们是您可以用来引导您的第一个项目的样板模板。如果您正在寻找一种结构化的方式来提升 Web3,请查看 ConsenSys 学院。

结论

Web3 是支持下一代软件的下一代互联网演进。区块链是更加透明的技术,不仅通过消费者采用而且通过主要机构采用已经成为主流。

了解什么是 Web3 技术以及如何构建它将为您打入市场提供优势。

对于那些已经拥有强大的 Web2 基础的有抱负的 Web3 开发人员,我希望现在您对自己已经掌握的知识有了一个良好的开端充满信心!花一些时间来学习上面的技术,你会比你想象的更快做好准备。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023年4月26日 上午9:05
下一篇 2023年4月26日 上午9:15

相关推荐