问题标签 [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 投票
2 回答
280 浏览

task - Chainlink Hackathon 21 HardHat教程在智能合约中执行函数

我会把它放在堆栈溢出上,但它特定于黑客马拉松。这是针对 HardHat 教程的。我正在尝试在我的智能合约上执行我的 get-number 功能。我的合同已部署。这是我的命令:npx hardhat get-number --contract 0x5FbDB2315678afecb367f032d93F642f64180aa3。这是我得到的错误:错误:调用还原异常(method="getNumber()",errorArgs=null,errorName=null,errorSignature=null,reason=null,code=CALL_EXCEPTION,version=abi/5.5.0)。任何想法都会有所帮助...谢谢。

这是任务

0 投票
1 回答
239 浏览

ethereum - 获取 Chainlink ETH/USD 价格反馈答案为 uint256 而不是 int solidity

我想使用最新的 ETH 美元价格来计算我可以从 AAVE 借多少 USDC。

我遵循了所有教程:

使用 ETH/USD 价格馈送的合约:

https://etherscan.io/address/0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419

创建了获取价格的函数:

我要调用的函数是这个:

这是我得到的错误:

我需要将 int 转换为单位

0 投票
3 回答
3727 浏览

solidity - 元掩码未连接到 localhost 8545

我试图遵循devto.io的教程并将交易发送到智能合约,我需要使用运行npx hardhat node命令时创建的帐户之一连接我的 MetaMask 钱包。为此,我打开 MetaMask 并将网络更新为 Localhost 8545,但 Metamask 没有连接到它并显示如下屏幕截图所示的错误。 在此处输入图像描述

0 投票
1 回答
628 浏览

smartcontracts - 如何使用 hardhat-deploy 部署多个智能合约

我有两个要部署的智能合约。我想部署第一个,然后将第一个的地址传递给第二个的构造函数。我是 hardhat-deploy 的新手,并不断跟上这一点。

谢谢!

0 投票
1 回答
53 浏览

solidity - 使用 Chainlink 请求数据,响应不是预期的

我一直在尝试将 Chainlink 集成到我的合同中,设法让随机数起作用,但 API 调用对我不起作用。这是我得到的:

我正在使用以下参数从安全帽进行部署(忽略 VRF 的参数,因为它有效):

甲骨文:0x9C0383DE842A3A0f403b0021F6F85756524d5599

JobId:0x3766623533366265383635623433333662323766633130313437633139336337

甲骨文费用:0.1 * 10**18

该函数运行良好,事务没有恢复或任何东西,但是当我检查“playerLevel”时,它总是只有 0

希望各位大神能帮帮忙,先谢谢了!

0 投票
1 回答
28 浏览

ethereum - 如何访问分配给映射的结构的变量?

我想更改已创建的结构实例的变量。我有一个Candidate分配给address映射中变量的结构,并将选民的地址分配给他们投票的候选人的地址。

我试过以下

这不会引发错误,但是当我numVotes对两个测试候选人的测试保持在 0 时,我已经像这样进行了硬编码。

我仍然是 Solidity 初学者,因此我们将不胜感激 :) 谢谢!

0 投票
0 回答
39 浏览

events - Chai closeTo 谈以太坊活动

我知道我们可以closeTo像这样使用 chai matcher:

expect(BigNumber.from(100)).to.be.closeTo(BigNumber.from(101), 10);

我们可以测试一个事务是否发出带有特定参数的事件,如下所示:

await expect(contract.addAddress("street", "city")).to.emit(contract, 'AddAddress').withArgs("street", "city");

但是我们如何使用closeTo匹配器to.emit.来检查事务是否发出具有接近某个值的特定参数的事件?


参考:https ://ethereum-waffle.readthedocs.io/en/latest/matchers.html

0 投票
3 回答
564 浏览

ethereum - 如何使用 ethers.js 在安全帽测试中生成以 eth 为种子的任意钱包?

我目前正在尝试使用新的 ethers.Wallet.createRandom() 在安全帽/华夫饼中运行需要数百个独特钱包来调用合约的测试。但是,这些钱包都没有提供 eth,所以我不能用它们调用/发送交易。

用 eth 提供任意数量的随机生成钱包的最简单/最有效的方法是什么?谢谢!

0 投票
1 回答
365 浏览

hardhat - 成本估算工具

测试智能合约以实现非常基本的功能
一切都按预期工作,到目前为止很享受,并希望建立在功能上

有什么方法可以预先查看部署我的合约所需的 gas 量吗?

0 投票
7 回答
4373 浏览

ethereum - 错误 HH12:尝试使用不支持的非本地安装的 Hardhat。请使用 npm 或 Yarn 在本地安装 Hardhat,然后重试

我从事安全帽项目已经有一段时间了。
过了一会儿,当我运行 npx hardhat node 启动 HH 服务器时,我收到以下错误:

这是错误的图像

我尝试研究错误并在安全帽网站上找到了这个

有趣的是,我创建了一个新的 HH 项目并重新安装了所有内容,
然后将我的代码导入到新项目中,这似乎解决了问题……
但过了一段时间,问题又开始了。
每次发生这种情况时,我都无法继续创建新项目。
我已经被困了好几天了,将不胜感激。

操作系统:windows10