在区块链开发的浪潮中,与以太坊网络进行交互是开发者必备的核心技能,Web3.js 正是以太坊官方提供的 JavaScript API 库,它像一座桥梁,让我们的 Web 应用能够轻松地与以太坊区块链进行通信,本文将手把手教你如何使用 Web3.js 连接到以太坊公网,为你的去中心化应用(DApp)打下坚实的基础。

什么是 Web3.js 和以太坊公网?

在开始之前,我们先简单理解两个核心概念:

  1. Web3.js:这是一个强大的 JavaScript 库,封装了与以太坊节点交互的复杂逻辑,通过它,你可以执行诸如读取账户余额、查询智能合约状态、发送交易、部署合约等一系列操作,它就像是浏览器与区块链世界之间的“翻译官”。

  2. 以太坊公网:这是由全球成千上万个节点共同维护的公共以太坊网络,任何人都可以自由接入,我们平时听到的 Mainnet(主网)、Ropsten、Goerli、Sepolia 等都属于公网,对于开发者来说,公网是测试和部署 DApp 的首选,因为它提供了最真实的环境和丰富的数据。

连接以太坊公网,就是让你的应用能够访问这个庞大的、去中心化的全球账本。

准备工作:环境搭建

在编写代码之前,请确保你的开发环境已经准备就绪:

  1. Node.js 和 npm/yarn:Web3.js 是一个 Node.js 包,因此你需要先安装 Node.js(推荐使用 LTS 版本),安装后,你将拥有 npmyarn 这两个包管理工具。
  2. 代码编辑器:一个顺手的编辑器,如 VS Code。
  3. 基础的 JavaScript 知识:了解 ES6 语法(如 async/await)会让你更容易理解下面的代码。

核心步骤:使用 Web3.js 连接以太坊公网

连接以太坊公网主要有两种方式:连接到公共节点服务商,或者连接到本地运行的全节点,对于绝大多数开发者来说,使用公共节点服务商是最高效、最经济的选择。

通过公共节点服务商连接(推荐)

公共节点服务商(如 Infura, Alchemy, Ankr 等)提供了稳定可靠的以太坊节点接入服务,你无需自己同步庞大的区块链数据,只需注册一个账号,获取一个节点 URL 即可。

第一步:获取节点 URL

  1. 访问 InfuraAlchemy 等网站并注册。
  2. 创建一个新的项目,选择你想要连接的以太坊网络(主网 Mainnet 或测试网 Goerli)。
  3. 项目创建成功后,你将获得一个以 https:// 开头的项目 ID 或 API Key,这就是你的节点 URL。

第二步:安装 Web3.js

在你的项目目录下,打开终端,运行以下命令安装 Web3.js:

npm install web3

或者使用 yarn:

yarn add web3

第三步:编写连接代码

我们可以开始编写代码了,下面是一个完整的示例,展示了如何连接到以太坊主网并打印出当前最新的区块号。

创建一个 connect.js随机配图