浅谈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节点后,所有的数据和状态都会丢失,不会在节点关闭后继续储存数据。
相关文章:
浅谈NODE的NPM命令和合约测试开发工具HARDHAT
$ npm install yarn -g # 将模块yarn全局安装 $ npm install moduleName # 安装模块到项目目录下 默认跟加参数 --save 一样 会在package文件的dependencies节点写入依赖。 $ npm install -g moduleName # -g 的意思是将模块安装到全局,具体安装到磁盘哪个位置&…...
k8s-pod 实战六 (如何在不同的部署环境中调整startupprobe的参数?)
在不同的部署环境中(如开发、测试、生产环境),你可能希望对 startupProbe 的参数进行调整,以适应不同的需求和条件。以下是几种常见的方法和实践: 方法一:使用 Kustomize 1. 目录结构 假设你的项目目录结构如下: my-app/ ├── base/ │ └── deployment.yaml …...
和服务端系统的通信
首先web网站 前端浏览器 和 后端系统 是通过HTTP协议进行通信的 同步请求&异步请求: 同步请求:可以从浏览器中直接获取的(HTML/CSS/JS这样的静态文件资源),这种获取请求的http称为同步请求 异步请求:js代码需要到服…...
python 实现perfect square完全平方数算法
python 实现perfect square完全平方数算法介绍 完全平方数(Perfect Square)是一个整数,它可以表示为某个整数的平方。例如,1,4,9,16,25,… 都是完全平方数,因为 1 1 2 , 4 2 2 , 9 3 2 11^2,42^2,93^2 112,422,93…...
【漏洞复现】某客圈子社区小程序审计(0day)
0x00 前言 █ 纸上得来终觉浅,绝知此事要躬行 █ Fofa:"/static/index/js/jweixin-1.2.0.js"该程序使用ThinkPHP 6.0.12作为框架,所以直接审计控制器即可.其Thinkphp版本较高,SQL注入不太可能,所以直接寻找其他洞. 0x01 前台任意文件读取+SSRF 在 /app/api/c…...
信息安全数学基础(1)整除的概念
前言 在信息安全数学基础中,整除是一个基础且重要的概念。它涉及整数之间的特定关系,对于理解数论、密码学等领域至关重要。以下是对整除概念的详细阐述: 一、定义 设a, b是任意两个整数,其中b ≠ 0。如果存在一个整数q࿰…...
SearchGPT与谷歌:早期分析及用户反馈
光年AI系统,作为先进AI技术的成果,推出了一个AI驱动搜素引擎的原型,类似于SearchGPT。 该发布引起了广泛的关注,并引发了关于其是否有能力与Google竞争的讨论。 然而,早期的研究和用户反馈表明,虽然Searc…...
VUE饿了么UPload组件自定义上传
代码: 1.视图: <el-dialog :title"dialogTitle" width"30%" :visible.sync"dialogFormVisible" :destroy-on-close"true"><el-form ref"fileForm" class"items-align" ><e…...
2.1概率统计的世界
欢迎来到概率统计的世界!在量化交易中,概率统计是至关重要的工具。通过理解概率,我们可以用数学的方法来描述市场行为,预测未来走势,并制定交易策略。让我们一起从基础概念开始,逐步深入,揭开概…...
SpringBoot使用QQ邮箱发送邮件
1.开启POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 设置 -> 账号 -> POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 获取授权码 SpringBoot依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter&l…...
使用 OpenCV 和 NumPy 进行图像处理:HSV 范围筛选实现PS抠图效果
使用 OpenCV 和 NumPy 进行图像处理:HSV 范围筛选实现PS抠图效果 在计算机视觉和图像处理领域,OpenCV 是一个非常强大的库,能够帮助我们执行各种图像操作。在这篇博客中,我们将通过一个简单的示例演示如何使用 OpenCV 和 NumPy 来…...
IIS中间件
中间件 中间件是一类软件,为应用程序、服务和组件提供一个通用的服务层。 主要功能 通信:提供通信框架,帮助不同系统与应用之间进行数据交换和通信 事务管理、资源管理 安全服务:提供认证、授权、加密等安全策略 数据访问&a…...
BMP280气压传感器详解(STM32)
目录 一、介绍 二、传感器原理 1.原理图 2.引脚描述 3.传感器数据获取流程 三、程序设计 main.c文件 bmp280.h文件 bmp280.c文件 四、实验效果 五、资料获取 项目分享 一、介绍 BMP280是一款基于博世公司APSM工艺的小封装低功耗数字复合传感器,它可以测…...
DWPD指标:为何不再适用于大容量SSD?
固态硬盘(Solid State Drives, SSD)作为计算机行业中最具革命性的技术之一,凭借其更快的读写速度、增强的耐用性和能效,已经成为大多数用户的首选存储方案。然而,如同任何其他技术一样,SSD也面临自身的挑战…...
路由器的固定ip地址是啥意思?固定ip地址有什么好处
在当今数字化时代,路由器作为连接互联网的重要设备,扮演着举足轻重的角色。其中,路由器的固定IP地址是一个常被提及但可能让人困惑的概念。下面跟着虎观代理小二一起将深入探讨路由器的固定IP地址的含义,揭示其背后…...
Java——踩坑Arrays.asList()
坑1:不能直接使用 Arrsys.asList() 来转换基本类型数据 public static void test1(){// 1、不能直接使用asList来转换基本类型数组int[] arr {1, 2, 3};List list Arrays.asList(arr);System.out.printf("list:%s size:%s class:%s", list, list.size(…...
前缀列表(ip-prefix)配置
一. 实验简介 本来前缀列表是要和访问控制列表放在一起讲的,但是这里单拎出来是为了更详细的讲解两者的区别 1.前缀列表针对IP比访问控制更加灵活。 2.前缀列表在后面被引用时是无法对数据包进行过滤的 实验拓扑 二. 实验目的 R4路由器中只引入子网LoopBack的…...
每日OJ_牛客_电话号码(简单哈希模拟)
目录 牛客_电话号码(简单哈希模拟) 解析代码 牛客_电话号码(简单哈希模拟) 电话号码__牛客网 解析代码 #include <iostream> #include <unordered_map> #include <set> #include <string> using name…...
鸿蒙轻内核M核源码分析系列十二 事件Event
往期知识点记录: 鸿蒙(HarmonyOS)应用层开发(北向)知识点汇总 轻内核M核源码分析系列一 数据结构-双向循环链表 轻内核M核源码分析系列二 数据结构-任务就绪队列 鸿蒙轻内核M核源码分析系列三 数据结构-任务排序链表 轻…...
基于 RocketMQ 的云原生 MQTT 消息引擎设计
作者:沁君 概述 随着智能家居、工业互联网和车联网的迅猛发展,面向 IoT(物联网)设备类的消息通讯需求正在经历前所未有的增长。在这样的背景下,高效和可靠的消息传输标准成为了枢纽。MQTT 协议作为新一代物联网场景中…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...
cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...
论文笔记——相干体技术在裂缝预测中的应用研究
目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术:基于互相关的相干体技术(Correlation)第二代相干体技术:基于相似的相干体技术(Semblance)基于多道相似的相干体…...
使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...
力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...
