简介

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,分为安装最新版本和指定版本两种。

//我选择安装最新版本
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

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()

跑通的第一个ethers.js程序HelloVitalik.js的更多相关文章

  1. 师傅领进门之6步教你跑通一个AI程序!

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由云计算基础发表于云+社区专栏 源码下载地址请点击原文查看. 初学机器学习,写篇文章mark一下,希望能为将入坑者解点惑.本文介绍一些机 ...

  2. 顶级测试框架Jest指南:跑通一个完美的程序,就是教出一群像样的学生

    facebook三大项目:yarn jest metro,有横扫宇宙之势. 而jest项目的宗旨为:减少测试一个项目所花费的时间成本和认知成本. --其实,它在让你当一个好老师. jest文档非常简略 ...

  3. rails跑通第一个demo

    rails -h 查看帮助 Usage: rails new APP_PATH [options] Options: -r, [--ruby=PATH] # Path to the Ruby bina ...

  4. 踏出第一步——安装并跑通python程序

    一.首先学会安装python软件 1.在浏览器下输入安装python软件的官方网址. 点击打开链接 2.在界面上点击"Downloads"下的"Windows" ...

  5. 如何跑通第一个 SQL 作业

    简介: 本文由阿里巴巴技术专家周凯波(宝牛)分享,主要介绍如何跑通第一个SQL. 一.SQL的基本概念 1.SQL 分类 SQL分为四类,分别是数据查询语言(DQL).数据操纵语言(DML).数据定义 ...

  6. angular.js的ng-app 指令定义一个 AngularJS 应用程序。

    <!DOCTYPE html> <html lang="en" ng-app> <head> <meta charset="UT ...

  7. 如何用原生js开发一个Chrome扩展程序

    原文地址:How to Build a Simple Chrome Extension in Vanilla JavaScript 开发一个Chrome扩展程序非常简单,只需要使用原生的js就可以完成 ...

  8. 3.第一个Node.js程序:Hello World!

    转自:http://www.runoob.com/nodejs/nodejs-tutorial.html 以下是我们的第一个Node.js程序: console.log("Hello Wor ...

  9. JavaScript二(第一个js程序)

    一.<script>xxxx</script>标签解析 1.charset :可选,表示通过src属性指定的字符集,由于大多数浏览器忽略它,所以很少有人用它2.defer:可选 ...

  10. 玩儿转物联网IoT - 在Beagle Bone Black上运行node.js 程序

    物联网(IoT)技术方兴未艾,智能手环,智能血压计,智能眼镜甚至智能鞋垫都开始进入我们的生活,各种智能设备层出不穷,世界已经到了一个"人有多大胆,地有多大产"的时代,不玩儿点物联网 ...

随机推荐

  1. UVA540 Team Queue(双queue)

    题目大意 有一条长队,每个人均唯一属于一个组(有编号),执行给定操作序列,输出相应结果.操作如下: (假设长队q1) ENQUEUE x:标号为x的人入队,若q1中存在和x属于同一组的人,则将x插入长 ...

  2. Linux Page Cache调优在Kafka中的应用

    本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/MaeXn-kmgLUah78brglFkg作者:Yang Yijun 本文主要描述Linux ...

  3. vivo 云服务海量数据存储架构演进与实践

    一.写在开头 vivo 云服务提供给用户备份手机上的联系人.短信.便签.书签等数据的能力,底层存储采用 MySQL 数据库进行数据存储. 随着 vivo 云服务业务发展,云服务用户量增长迅速,存储在云 ...

  4. 上海丨阿里云 Serverless 技术实战营邀你来玩!

    活动简介 本次沙龙深度探讨 "Serverless 在中国企业的落地和开发者实操" 主题,我们特别邀请了来自阿里云 一线技术专家,分享当前 Serverless 趋势和落地实践过程 ...

  5. iviews Radio组件如何获取key而不是value

    iviews RadioGroup 官网里介绍Radio组件获取的值都是name属性没有value 例如: <template> <Space wrap size="lar ...

  6. qiankun 微前端实例化使用

    一.qiankun使用场景 1. 简介:qiankun是在single-spa的基础上实现的,可以保证各个项目独立使用,也可以集成使用.各系统之间不受技术栈的限制,集成使用也能保证各样式和全局变量的隔 ...

  7. docker 容器ip查看及 网络配置区别

    本文为博主原创,未经允许不得转载: 1. 查看容器ip: 方法一:查看所有容器的ip docker inspect --format='{{.Name}} - {{range .NetworkSett ...

  8. idea 解决git更新冲突

    转载请注明出处: 对使用idea工具解决git冲突,最近有发现不同的解决冲突的方法,都很快捷方便,记录一下. 1.先commit 再pull,然后手动进行merge 左边部分是本地仓库的代码,右边部分 ...

  9. Pycharm配置git

    原文链接:https://www.jianshu.com/p/ae92970d2062 1.下载Gitee插件 同样在设置页面,选中 Plugins,并搜索 Gitee安装. 安装后,重启一下Pych ...

  10. Java - 输出空心菱形

    1. 思路:发现菱形的规律 ,定义三个变量,左边距和右边距,中间的边距 .   具体规律观察上图  . 2.上代码: //输出空心菱形 public class ForToLingXing { pub ...