跑通的第一个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 模块的语法。具体来说,这是因为:
模块系统的不同:Node.js 默认使用 CommonJS 模块系统,这是一个早期的模块标准,主要用在 Node.js 中。CommonJS 使用
require
和module.exports
来导入和导出模块。然而,ES6(也称为 ECMAScript 2015)引入了一种新的模块系统,使用import
和export
语句。启用 ES6 模块:在
package.json
中加入"type": "module"
指示 Node.js 将该项目中的.js
文件作为 ES6 模块来处理。这意味着您可以在项目中使用import
和export
语句,而不是 CommonJS 的require
。兼容性和未来趋势: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的更多相关文章
- 师傅领进门之6步教你跑通一个AI程序!
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由云计算基础发表于云+社区专栏 源码下载地址请点击原文查看. 初学机器学习,写篇文章mark一下,希望能为将入坑者解点惑.本文介绍一些机 ...
- 顶级测试框架Jest指南:跑通一个完美的程序,就是教出一群像样的学生
facebook三大项目:yarn jest metro,有横扫宇宙之势. 而jest项目的宗旨为:减少测试一个项目所花费的时间成本和认知成本. --其实,它在让你当一个好老师. jest文档非常简略 ...
- rails跑通第一个demo
rails -h 查看帮助 Usage: rails new APP_PATH [options] Options: -r, [--ruby=PATH] # Path to the Ruby bina ...
- 踏出第一步——安装并跑通python程序
一.首先学会安装python软件 1.在浏览器下输入安装python软件的官方网址. 点击打开链接 2.在界面上点击"Downloads"下的"Windows" ...
- 如何跑通第一个 SQL 作业
简介: 本文由阿里巴巴技术专家周凯波(宝牛)分享,主要介绍如何跑通第一个SQL. 一.SQL的基本概念 1.SQL 分类 SQL分为四类,分别是数据查询语言(DQL).数据操纵语言(DML).数据定义 ...
- angular.js的ng-app 指令定义一个 AngularJS 应用程序。
<!DOCTYPE html> <html lang="en" ng-app> <head> <meta charset="UT ...
- 如何用原生js开发一个Chrome扩展程序
原文地址:How to Build a Simple Chrome Extension in Vanilla JavaScript 开发一个Chrome扩展程序非常简单,只需要使用原生的js就可以完成 ...
- 3.第一个Node.js程序:Hello World!
转自:http://www.runoob.com/nodejs/nodejs-tutorial.html 以下是我们的第一个Node.js程序: console.log("Hello Wor ...
- JavaScript二(第一个js程序)
一.<script>xxxx</script>标签解析 1.charset :可选,表示通过src属性指定的字符集,由于大多数浏览器忽略它,所以很少有人用它2.defer:可选 ...
- 玩儿转物联网IoT - 在Beagle Bone Black上运行node.js 程序
物联网(IoT)技术方兴未艾,智能手环,智能血压计,智能眼镜甚至智能鞋垫都开始进入我们的生活,各种智能设备层出不穷,世界已经到了一个"人有多大胆,地有多大产"的时代,不玩儿点物联网 ...
随机推荐
- Spring 学习笔记(5)AOP
本文介绍 Spring 中 AOP 的原理及使用方式. Spring AOP 简介 如果说 IoC 是 Spring 的核心,那么面向切面编程就是 Spring 最为重要的功能之一了,在数据库事务中切 ...
- Educational Codeforces Round 104 (Rated for Div. 2) A-E 个人题解
比赛链接 1487A. Arena n 个 Hero,分别有 \(a_i\) 的初始等级.每次两个 Hero 战斗时:等级相同无影响,否则等级高的英雄等级+1.直到某个英雄等级到了 \(100^{50 ...
- springboot 实现接收前端发来的图片和视频以及在页面上展示图片和视频
springboot 实现接收前端发来的图片和视频以及在页面上展示图片和视频 一.效果: 1.上传图片 2.显示上传的图片 3.上传的视频 4.显示上传的视频 二.代码 没依赖特殊的包,引入sprin ...
- 【新手友好】用Pyspark和GraphX解析复杂网络数据
从零开始 在本文中,我们将详细介绍如何在Python / pyspark环境中使用graphx进行图计算.GraphX是Spark提供的图计算API,它提供了一套强大的工具,用于处理和分析大规模的图数 ...
- Vue中使用el-menu高亮显示问题
https://blog.csdn.net/weixin_43336525/article/details/132541500 <template> <el-menu :defaul ...
- vue prop 会接收不同的数据类型
refAge: { type: Number, default: 0 }, refName: { type: String, default: '' }, hotDataLoading: { type ...
- [转帖]oceanbase 的简单介绍
English | 中文版 OceanBase Database 是一个分布式关系型数据库.完全由蚂蚁集团自主研发. OceanBase 基于 Paxos 协议以及分布式架构,实现了高可用和线性扩展. ...
- [转帖]Unix Domain Socket– IPC通信机制
什么是Unix Domain Socket 基于socket的框架上发展出一种IPC机制,就是UNIX Domain Socket.虽然网络socket也可用于同一台主机的进程间通讯(通过loopba ...
- [转帖]深入理解mysql-第十二章 mysql查询优化-Explain 详解(下)
我们前面两章详解了Explain的各个属性,我们看到的都是mysql已经生成的执行计划,那这个执行计划的是如何生成的?我们能看到一些过程指标数据吗?实际mysql贴心为我们提供了执行计划的各项成本评估 ...
- [转帖]耗时几个月,终于找到了JVM停顿十几秒的原因
https://www.cnblogs.com/codelogs/p/16060792.html 原创:打码日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处. 简介# 最近我们系 ...