跑通的第一个ethers.js程序HelloVitalik.js

简介

ethers.js是一个本地库,可以让你调用接口,用官方写好的轮子来使用一些常用的函数!学习完这个库,你对node.js就有比较深入的了解了,如果你不做项目,就不涉及智能合约的编写,那么写点脚本学习一下ethers.js是很好的。

教程已经有比较完整系统的了:https://www.wtf.academy/ethers-101/HelloVitalik

我只是指出其中需要注意的地方,那就是node.js的语法问题。

报错:node .\HelloVitalik.js (node:19424) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.

加入 "type": "module"package.json 文件中,可以让 Node.js 理解并接受 ES6 模块的语法。具体来说,这是因为:

  1. 模块系统的不同 :Node.js 默认使用 CommonJS 模块系统,这是一个早期的模块标准,主要用在 Node.js 中。CommonJS 使用 requiremodule.exports 来导入和导出模块。然而,ES6(也称为 ECMAScript 2015)引入了一种新的模块系统,使用 importexport 语句。

  2. 启用 ES6 模块 :在 package.json 中加入 "type": "module" 指示 Node.js 将该项目中的 .js 文件作为 ES6 模块来处理。这意味着您可以在项目中使用 importexport 语句,而不是 CommonJS 的 require

  3. 兼容性和未来趋势:ES6 模块是 JavaScript 语言的官方标准,并且被现代浏览器和最新版本的 Node.js 支持。使用 ES6 模块可以提高代码的兼容性和可维护性。

总结来说,通过在 package.json 中设置 "type": "module",您的 Node.js 项目就能够使用现代的 JavaScript 模块语法,从而使代码更加现代化、简洁和符合标准。

具体步骤

1.安装**node.js**,自行查找教程,此处不再赘述。

2.安装**ethers.js**,分为安装最新版本和指定版本两种。

js 复制代码
//我选择安装最新版本
npm install --save ethers
//安装指定版本
npm install ethers@5.6.9

3.修改package.json为启用ES6模块,加上一行"type": "module"

复制代码
{
  "dependencies": {
    "ethers": "^6.10.0"
  },
  "type": "module"
}

4.现在再运行就不会出错了:node .\HelloVitalik.js

js 复制代码
import { ethers } from "ethers";
const provider = ethers.getDefaultProvider();
const main = async () => {
    const balance = await provider.getBalance(`vitalik.eth`);
    console.log(`ETH Balance of vitalik: ${ethers.formatEther(balance)} ETH`);
}
main()
相关推荐
taxunjishu4 小时前
西门子 1500 PLC 依托 Ethernet/ip 转 Modbus RTU联合发那科机器人优化生产流程
人工智能·区块链·工业物联网·工业自动化·总线协议
软件工程小施同学8 小时前
区块链论文速读 CCF A--USENIX Security 2025(1)
区块链
虚行13 小时前
Go学习资料整理
golang·区块链
链科天下15 小时前
蚂蚁集团注册“AntCoin”商标,积极布局Web3!
区块链
央链知播1 天前
重磅新书 | 《链改2.0:从数字资产到RWA》
金融·区块链·业界资讯
Webb Yu1 天前
加密货币学习路径
学习·区块链
openHiTLS密码开源社区2 天前
椭圆曲线密码学的效率核心:单标量与多标量乘法详解
区块链·零知识证明·rsa·隐私保护·ecc·多标量·单标量
本郡主是喵2 天前
基于区块链的商品溯源平台的设计与实现(源码+文档)
区块链
数据与人工智能律师2 天前
数据淘金时代的法治罗盘:合法收集、使用与变现数据的边界与智慧
大数据·网络·人工智能·云计算·区块链
大桔骑士v2 天前
【区块链学习笔记】17:以太坊中的GHOST协议
区块链·以太坊·比特币·ghost