问题标签 [hardhat]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1369 浏览

mocha.js - 错误:当使用 Contract.connect(Signer) 调用 getter 时,使用 Mocha、Chai、Waffle 测试在 Hardhat 上调用恢复异常

在安全帽上测试一些代码时,我发现抛出了一个无法解释的异常。我在不和谐频道以及 etherjs 文档中都找不到任何解决方案。

这是我的测试套件:

这是我的合同:

这是我在运行“npx hardhat test”时遇到的错误:

0 投票
1 回答
2396 浏览

solidity - 使用 ethers js 运行安全帽测试时,合同事件侦听器未触发

这是一个非常小的仓库来显示这个问题:https ://github.com/adamdry/ethers-event-issue

但我也会在这里解释。这是我的合同:

这是我的测试代码:

我期待它###########被打印到控制台,但它没有,所以监听器函数由于某种原因没有被执行。

如果我深入了解 ContractReceipt 正确的事件数据:

0 投票
0 回答
37 浏览

javascript - 从 Javascript (Mocha) 中的 `require` 获取所有函数/变量

所以,我有一个utils.js文件有很多功能,比如a, b, c,de.

每次我必须在任何其他 javascript 函数中调用这些函数时,我都必须这样做:

有没有一种方法*可以让我一次获得所有功能,而不是一个一个地获得所有功能?

语境:

  • 我正在使用它来测试我在区块链项目中的智能合约。
  • 使用安全帽进行测试(使用 Mocha 进行测试运行)。
0 投票
5 回答
4149 浏览

ethereum - npm hardhat 运行后连接到 localhost 时出错

我是使用安全帽部署智能合约的新手,我正在学习https://dev.to/dabit3/the-complete-guide-to-full-stack-ethereum-development-3j13上的教程。但是,运行后npx hardhat run scripts/deploy.js --network localhost,我收到以下错误。关于如何解决连接问题的任何想法?

0 投票
1 回答
1128 浏览

testing - 使用安全帽通过 Uniswap 流动性供应测试代币

我正在尝试分叉 Safemoon(或真正的 NotSafeMoon),并将其用作学习智能合约开发的工具。(我有大量你可能称之为“Web 2.0”的开发经验)。

所以说我的构造函数中有类似的东西:

当我运行测试时,npx hardhat test出现以下故障:

现在,这确实很有意义,毕竟我试图调用 Pancakeswap v2 路由器合约。我如何绕过这个限制?有没有办法将路由器的合同地址作为环境变量注入?我可以使用 UniswapRouter 的模拟构造函数吗?一般来说,这种事情是如何通过智能合约开发以可测试(以及如何测试)的方式完成的?

0 投票
0 回答
121 浏览

node.js - npm/nodeJS - 从库目录运行时创建的自定义库有效,但在将库安装到另一个项目时不起作用

我一直对我创建的一个小型库感到疯狂,它使用 HardHat 和 Gnache-Cli 来打开本地测试网以进行测试。当我测试在库的 package.json 中创建的命令时,它们都可以正常工作。我后来继续在npmjs上发布包。

当我尝试在目标项目上执行库中可用的命令时,问题就出现了,因为依赖项似乎丢失了并且给出了很多奇怪的错误。下图显示了图书馆的不同兴趣点:

基本文件夹结构和依赖关系: 基本文件夹结构和package.json简要视图

可运行的脚本: 可用的脚本和 bin 条目

本地测试网启动脚本预览 测试网启动脚本

部署合约脚本预览: 部署合约脚本

编译合约脚本预览: 编译合约脚本

库安装到另一个项目时抛出随机错误: 库中的错误

完整的 package.json 文件:

需要任何帮助!!!

0 投票
0 回答
27 浏览

testing - 如何在 package.json 脚本上创建动态路径

package.json有这个脚本 "test": "hardhat test"

我想做另一个只从子文件夹运行测试,而不是整个测试套件。类似的东西"test:single": "hardhat test ./tests/subfolder/${runThisOne}"并称之为类似的东西,yarn test:single coolTest这会导致yarn test:single ./tests/subfolder/coolTest. 这可能吗?

0 投票
0 回答
140 浏览

solidity - 如何将预编译的合约部署到安全帽节点

我有一个代理合约,想替换底层的实现合约。

我已经有了智能合约的 abi 和字节码(从 artifacts 文件夹中检索),所以这就是我所做的:

它工作正常,但我不希望合同存在于我的contracts文件夹中,因此我已将其删除并npx hardhat compile再次运行。

现在,当我再次尝试运行此部署脚本时,安全帽不断抛出此错误:

经过一些尝试错误,似乎与缓存文件夹有关,一旦缓存文件夹中的相关元数据消失,就会弹出此错误,否则不会。

有人可以指导我解决这个问题吗?如何在不将合同留在contracts文件夹中的情况下仅使用 abi 和字节码部署合同?

谢谢!:)

这是我升级合约的代码:

0 投票
0 回答
91 浏览

reactjs - npx 安全帽不会在我的“反应文件夹”中配置

  1. 安装反应回购

然后用 (y) 确认

  1. 然后使用上面 react 为您提供的功能列表跳转到您新创建的目录。

并获取里面的包裹清单。

  1. 然后你需要安装你的依赖项。这包括安全帽,它将快速创建您的依赖项

伟大的!但每当我跑步

,我得到了这个。 错误 HH306:缺少任务参数 --config

每当我运行 npx hardhat 时,我都会获得包含全局任务和可用任务的帮助菜单;但不是安全帽菜单

0 投票
0 回答
210 浏览

javascript - 从 Aave 提款会导致“错误交易被撤销”

我有一个正在运行的示例,它将 Aave 令牌存入 Aave。我正在使用Aave v2 github提供的代码合同示例

存款工作正常,但是当我尝试提款时:

我收到一个错误:

事务恢复:函数返回了意外的数据量

我对安全帽很陌生,我现在确定如何进一步调试它。如何退出 Aave?