浅谈NODE的NPM命令和合约测试开发工具HARDHAT

$ npm install yarn -g # 将模块yarn全局安装

$ npm install moduleName # 安装模块到项目目录下 默认跟加参数 --save 一样 会在package文件的dependencies节点写入依赖。

$ npm install -g moduleName # -g 的意思是将模块安装到全局,具体安装到磁盘哪个位置,要看 npm root -g 的位置。

$ npm install --save moduleName # --save 的意思是将模块安装到项目目录下,并在package文件的dependencies节点写入依赖。跟不写--save参数一样 等同npm install moduleName.

$ npm install --save-dev moduleName # --save-dev 的意思是将模块安装到项目目录下,并在package文件的devDependencies节点写入依赖。

$ npm install || npm install --production(补充)

假如我们第一拉下别人代码的时候,通常都是不上传node_module,所以我们每次使用前都是使用npm install一下,此时就会下载dependencies和devDependencies中的模块,

而如果我们使用npm install --production或者注明NODE_ENV变量值为production时,只会下载dependencies中的模块。

如果安装了Npm install 不理想想重新安装,还原本目录下npm库,你可以使用以下步骤:

删除现有的 node_modules 文件夹和 package-lock.json 或 yarn.lock 文件

清除 npm 缓存: npm cache clean --force

重新安装依赖: npm install

如果要使用国内镜像源,可以尝试使用淘宝的 npm 镜像源,通过运行 npm config set registry http://registry.npmmirror.com 来设置

还原默认镜像:npm config delete registry

查看当前镜像:npm config get registry

npm 官方原始镜像网址是:https://registry.npmjs.org/

淘宝 NPM 镜像:http://registry.npmmirror.com

阿里云 NPM 镜像:https://npm.aliyun.com

腾讯云 NPM 镜像:https://mirrors.cloud.tencent.com/npm/

华为云 NPM 镜像:https://mirrors.huaweicloud.com/repository/npm/

网易 NPM 镜像:https://mirrors.163.com/npm/

中国科学技术大学开源镜像站:http://mirrors.ustc.edu.cn/

清华大学开源镜像站:https://mirrors.tuna.tsinghua.edu.cn/

腾讯,华为,阿里的镜像站基本上比较全

检查代理设置:如果你使用了代理服务器,确保 npm 正确配置了代理,假设代理为http://127.0.0.1:7890:

设置代理 npm config set proxy http://127.0.0.1:7890

npm config set https-proxy http://127.0.0.1:7890

删除代理 命令:npm config delete proxy

npm config delete https-proxy

获取本机公网IP 地址命令: curl myip.ipip.net 或 curl ipinfo.io

搭建hardhat环境:

1.新建一个空文件夹,打开命令行,初始化Node.js项目

npm init -y

2.使用npm下载并安装hardhat 环境引入依赖

npm install --save-dev hardhat

3.初始化项目

创建hardhat项目

建立空目录并在目录下 npx hardhat init 建立初始项目

如果出错

清除 npm 缓存:运行 npm cache clean --force 清除缓存。

如果要再新建项目,不用再初始化安装,因为太耗费时间,直接拷贝即可,操作如下:

1.新建目录 进入目录 npx hatdhat init 初始化跳过最后一步不安装模块

2.直接复制 现有已经初始化安装的文件 node_modules 文件夹和package.json和 package-lock.json 文件到新目录。

3.npx hatdhat node 调试成功说明安装完成

npx hardhat compile:编译Solidity合约代码。

npx hardhat test:运行测试脚本。

npx hardhat run [path/to/script.js]:运行一个脚本。

npx hardhat clean:清除构建输出和缓存文件。

npx hardhat accounts:列出可用的账户信息。

终端进入控制台命令 npx hardhat console --network localhost

检查gas使用:npx hardhat gas-reporter

npx hardhat node:启动本地开发节点/启动一个单独的链,内置链的名称是hardhat,默认chainid 31337. Node模式下,--network参数并不起作用

npx hardhat node --mining 启动挖矿模式

npx hardhat node --fork https://goerli.infura.io/v3/\<key> 通过命令行单独启动一条fork链

npx hardhat run .\scripts\deploy.js --network localhost 指定网络运行脚本部署合约

当你在没有指定 network 参数的情况下使用 npx hardhat run 命令时,Hardhat会尝试在你的 hardhat.config.js 文件中找到一个默认的网络配置[defaultnetwork]。如果你没有设置默认网络,它会报错。

脚本运行时可以使用一个叫localhost的网络,但它不需要配置!Hardhat另一个特殊网络名称是localhost,它并不是内置链,而是预定义的,是内部配置好的一个remote链,指向http://localhost:8545

Hardhat是一个以太坊的开发和测试环境,它本身并不涉及数据存储。在Hardhat环境中,当你关闭节点时,所有的状态和数据都会被清除,因为Hardhat的设计初衷是为了提供一个快速、轻量级的开发测试环境,而不是一个长期的数据存储解决方案。因此,关闭Hardhat节点后,所有的数据和状态都会丢失,不会在节点关闭后继续储存数据。

相关推荐
dr李四维3 分钟前
iOS构建版本以及Hbuilder打iOS的ipa包全流程
前端·笔记·ios·产品运营·产品经理·xcode
雯0609~24 分钟前
网页F12:缓存的使用(设值、取值、删除)
前端·缓存
℘团子এ27 分钟前
vue3中如何上传文件到腾讯云的桶(cosbrowser)
前端·javascript·腾讯云
学习前端的小z33 分钟前
【前端】深入理解 JavaScript 逻辑运算符的优先级与短路求值机制
开发语言·前端·javascript
彭世瑜1 小时前
ts: TypeScript跳过检查/忽略类型检查
前端·javascript·typescript
FØund4041 小时前
antd form.setFieldsValue问题总结
前端·react.js·typescript·html
Backstroke fish1 小时前
Token刷新机制
前端·javascript·vue.js·typescript·vue
小五Five1 小时前
TypeScript项目中Axios的封装
开发语言·前端·javascript
小曲程序1 小时前
vue3 封装request请求
java·前端·typescript·vue
临枫5411 小时前
Nuxt3封装网络请求 useFetch & $fetch
前端·javascript·vue.js·typescript