写点什么

开发人员必须知道的 Web3 基本工具和技术

  • 2022-11-09
    北京
  • 本文字数:2513 字

    阅读完需:约 8 分钟

开发人员必须知道的 Web3基本工具和技术

Web 3 开发人员缺口很大,相对来说,目前只有一少部分开发人员成为该领域的专家。因此,如果一位成熟的 Web 2 工程师,想要进入 Web 3 行业,应该从哪里开始呢?要了解哪些基本概念、学习哪些工具和技术?

 

本文将探讨 Web 3,包括它的重要性以及与 Web 2 的区别。然后再来看看,有志于 Web 3 开发人员应该熟悉的技术栈。

Web3 第一课

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

 

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

 

Web 3 背后的许多动机,都是基于用户、公司和政府之间的信任受到侵蚀。看上去好像有点愤世嫉俗,但确是如此。

 

在去中心化金融里,用户将资金存储在自己的私人钱包中,交易时无需与中心化机构互动或依赖国家的法定货币。

 

建立在区块链上的投票应用程序,所有投票数据都是透明的,且任何人验证起来都很简便,因此不必再担心选举中发生徇私舞弊。这就是让 Web 3 “无需信人”的原因:该技术是透明的,并且通过密码学得到保护,因此不再是只能盲目信任某些机构。

 

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

 

所有这些例子,其核心都牵涉到不再需要依赖中央机构或中介机构。

 

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

 

去中心化的应用程序(Dapps)

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

 

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



去中心化应用架构

 

定义 Web 3 技术栈的技术

 

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

 

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

 

Solidity 是一种编程语言,用于编写在以太坊区块链上运行的智能合约。它看起来像是 C++、Python 和 JavaScript 的混合体。如果你现在已经学习了几种编程语言,那么你每次去学一门新语言都会变得更容易。由于大多数智能合约都涉及某种货币兑换,因此遵循适当的标准在安全方面的最佳实践至关重要。

 

Solidity 项目地址:https://soliditylang.org/

 

Truffle是一个框架,可以用来编写、测试和部署智能合约。 其网站将其描述为“使用以太坊虚拟机 (EVM) 的区块链开发环境、测试框架和资产管道”。就像 React 帮助你构建 JavaScript 应用程序一样,Truffle 帮助你构建智能合约。使用 Truffle 并不是绝对必要的,但是这个框架将极大地帮助你,因为它抽象了一些开发复杂性。对于 VS Code 用户,Truffle for VS Code 扩展会让开发周期更加容易。

 

Truffle项目地址:https://trufflesuite.com/docs/truffle/

 

Ganache 是用于本地开发和测试智能合约的个人区块链。开发人员只需要通过几个简单的命令,就可以创建以太坊区块链的本地实例。Ganache 允许你在本地开发 Web 3 应用,就像在本地或测试环境而非生产环境中开发 Web 2 应用程序一样。

 

Ganache项目地址:https://trufflesuite.com/docs/ganache/

 

Web3.js 是一个用于与以太坊交互的 JavaScript 库。你将在前端应用程序中使用 web3.js 来执行诸如连接到用户的钱包、授予对智能合约的访问权限以及调用智能合约上的函数等操作。智能合约可以通过命令行或 UI 访问,因此 web3.js 可以帮助你从 UI 使用智能合约。

 

Web3.js 项目地址:https://web3js.readthedocs.io/en/v1.8.0/

 

MetaMask 是一个 Web 3 钱包,你可以使用它的浏览器扩展程序或移动应用程序。我们之前提到过钱包,但还没有真正描述过钱包是什么。钱包为你的数字资产提供接口。你使用只有你自己知道的私钥保护钱包里的内容。 MetaMask 为用户提供了一种安全的方式,连接到基于区块链的应用程序,并与它们的钱包交互。对于开发人员来说,需要钱包来部署智能合约并与之交互。通常,私钥必须写在代码中才能交互,但 Truffle Dashboard能够将 MetaMask 钱包连接到项目而无需暴露密钥。

 

MetaMask 项目地址:https://metamask.io/

 

Infura是连接以太坊和其他区块链以及去中心化存储网络(如 IPFS)的基础设施提供商。无需过多介绍,与区块链的任何交互都需要通过 JSON-RPC 或 WebSockets 访问节点。 Infura 提供了基础设施,因此你不必找机器来启动自己的节点。如果你实在想运行自己的节点,Infura 也可以作为备用。 Infura 还提供了一个开发套件和工具包,包括监控、指标、日志记录、事务管理和其他用于构建 dapp 的功能。这是对我们已谈论过的其他一些技术的进一步抽象,可以使 Web3 开发更加容易。

 

Infura项目地址:https://infura.io/zh

结论

Web 3 是支持下一代软件的下一代互联网。区块链是更透明的技术,不但消费者在采用,主要机构也在采用,这让区块链成为了主流。

 

了解 Web 3 技术以及构建方法,将为你打入市场提供优势。

 

对于已经拥有强大的 Web 2 基础,又有志于 Web3 的开发人员,我希望现在你对自己充满信心,因为你已掌握的知识就是良好的开端!花一些时间学学上面的技术,你可能会比你想象的更快做好准备,以迎接 Web3 的到来。

 

原文链接:


https://dzone.com/articles/the-essential-web3-tools-and-technologies-develope

2022-11-09 11:437638
用户头像
李冬梅 加V:busulishang4668

发布了 1244 篇内容, 共 860.0 次阅读, 收获喜欢 1329 次。

关注

评论

发布
暂无评论
发现更多内容

如何在YashanDB数据库中编写高效查询

数据库砖家

如何在YashanDB数据库中实施数据版本控制?

数据库砖家

非凸科技受邀出席2025苏州私募投资峰会,共话新格局下行业发展新机遇

非凸科技

在YashanDB数据库上执行数据迁移的技术解析

数据库砖家

通知语音播报功能,解锁全新体验

HarmonyOS SDK

HarmonyOS NEXT HarmonyOS SDK应用服务

烟草专卖执法案卷制作平台:保障案卷质量,提升工作效率

中烟创新

Qoder 正式开放订阅,Credits 耐用度提升1/3

阿里巴巴云原生

阿里云 Qoder

如何在YashanDB数据库中设计灵活的查询接口

数据库砖家

构建全球话语感知系统:海外舆情监测的战略意义

沃观Wovision

跨境贸易 出海企业 沃观Wovision 舆情监测系统 海外舆情监测

如何在YashanDB数据库中实施审计和合规性

数据库砖家

AI技术在英语培训中的应用

北京木奇科技有限公司

软件外包公司 AI英语学习 AI英语

CPS、CPC、CPV……海外红人营销哪种计价方式最划算?

Wolink

跨境贸易 出海企业 海外推广 沃链Wolink 达人营销

通义上线 FunAudio-ASR,噪声场景幻觉率降 70%;盒智科技推出 AI 口语练习陪伴设备 Lookee 丨日报

RTE开发者社区

一句话让AI帮你搞营销?火山引擎Data Agent说:这事儿可以的~

字节跳动数据平台

区块链U卡APP的开发周期

北京木奇科技有限公司

区块链开发 软件外包公司 web3开发

如何有效利用YashanDB数据库提升企业数据管理效率

数据库砖家

如何在YashanDB上构建强大的数据仓库

数据库砖家

如何在YashanDB数据库中管理大型数据集的挑战

数据库砖家

如何在YashanDB数据库中进行多租户设计

数据库砖家

企业实现持续规划与智能财务的完整指南

智达方通

企业管理 智能财务 全面预算管理 财务管理

如何在YashanDB数据库环境中处理多版本数据

数据库砖家

如何在YashanDB数据库中实施多层架构

数据库砖家

AI 技术在英语培训 App 中的应用

北京木奇科技有限公司

AI技术开发 软件外包公司 AI英语学习

函数计算的云上计费演进:从请求驱动到价值驱动,助力企业走向 AI 时代

阿里巴巴云原生

阿里云 Serverless 云原生

如何在YashanDB数据库中创建高效的数据模型?

数据库砖家

运维审计是审计吗?两者有什么区别?

行云管家

运维审计 运维审计系统

如何在YashanDB数据库中进行数据备份与恢复

数据库砖家

你真的了解RFID吗?那些你未曾注意的日常应用

斯科信息

RFID解决方案 RFID技术 RFID标签 RFID通道机 RFID仓储通道门

腾讯开源框架 Kuikly 再升级!率先适配 “液态玻璃”,原生体验更极致

极客天地

2025年网络安全周相关问题汇总

行云管家

网络安全 网络安全周

能流新智:MyEMS与开源时代的能源感知

开源能源管理系统

开源 开源能源管理系统

开发人员必须知道的 Web3基本工具和技术_文化 & 方法_Tyler Hawkins_InfoQ精选文章