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

testing - 柴测试中的时间旅行

我正在用 chai 和 hardhat 测试我的合同,我想在Transactions块测试中测试一个依赖于 if 语句的函数:bool(Date.now() < timestamp)。

我检查了:如何在 Mocha 测试中模拟时间的流逝,以便调用 setTimeout 回调?

我当然安装了 sinon:yarn add sinon

但我得到:

代码:

感谢帮助!

0 投票
4 回答
3592 浏览

javascript - hardhat:将 NFT 部署到 rinkeby 网络时的问题

我开始了我的第一个区块链教程,它是:

我正在尝试使用安全帽在 Rinkeby 测试网中部署 NFT。以下是我为配置环境所做的步骤:

  • 安装安全帽

  • 在我的 .zshrc 中添加以下环境变量(RINKEBY_RPC_URL、PRIVATE_KEY、MAINNET_RPC_URL)

  • 使用 infuria 创建了一个帐户以获取我的 RINKEBY_RPC_URL:'https://rinkeby.infura.io/v3/My_Project_Id'

  • 从我的 Metamask 添加我的 PRIVATE_KEY

  • 在https://www.alchemy.com/上创建一个帐户以获取我的 MAINNET_RPC_URL:'https://eth-mainnet.alchemyapi.io/v2/My_Project_Id'

  • 我使用https://faucet.rinkeby.io/在我的元掩码(Rinkeby 测试网)上获取以太币。与 LINK 相同

然后当我想使用安全帽部署我的第一个 NFT 时 ->hh deploy --network rinkeby

我有这个错误:

错误信息说:

内在交易成本资金不足

这很奇怪,因为我在 Rinkeby 测试网上添加了一些 Eth 和链接。我错过了什么吗?

编辑(19/07/21)

我取消了 MNEMONIC 部分的注释,并添加了示例中设置的 gas / gasPrice 变量:

如您所见,它让我更进一步:

然后,当调用 Chainlink VRF 节点时,我遇到了一个新错误:

分配给 gas 和 gasPrice 的值有问题吗?

0 投票
0 回答
224 浏览

blockchain - 检查安全帽本地网上的交易

安全帽菜鸟在这里

所以我想在他们完成执行后检查我在安全帽 localnet 上运行的本地事务。就像使用交易哈希并稍后检查交易详细信息一样。有什么好的方法吗?或者这可能吗?

我需要为此使用甘纳许吗?或者安全帽本地节点是否hardhat node足够?

编辑:可以看到元掩码钱包本身的交易。所以这是一个愚蠢的问题。谢谢。

0 投票
2 回答
50 浏览

proxy - 如何在已部署的智能合约上升级或添加新逻辑

我已经部署了一个智能合约,我想在这个合约上添加一些逻辑。

我正在搜索和学习有关升级智能合约的示例和教程,但我没有理解并给出一个清晰的例子。我只是想出了如何创建一个可升级的合约,这只是创建一个新的可升级合约的一个例子。

任何用于更新智能合约的教程或代码都已部署。

智能合约示例:币安智能链测试网上的 0x31d176A37E2EC3bc986f5D3b23CE76e48d963F29。testnet.bscscan.com/address/0x31d176A37E2EC3bc986f5D3b23CE76e48d963F29

我想在合约启动池上添加新逻辑。

有人可以帮助我吗?

0 投票
0 回答
22 浏览

node.js - 无法编译和运行 IPFS

我正在尝试使用 hardhat 和 minty 来编译项目,当我尝试编译它被编译但 IPFS 出现此错误的合同时,据我所知,我已经正确安装了 IPFS,因为在另一个 powershell 中我可以调用 ipfs 守护进程和它得到innecialized,请让我现在做什么,我正在尝试基于Yuesef开发的minty项目做项目。 https://github.com/yusefnapora/minty

项目清单

https://ibb.co/3CNN5XZ

https://ibb.co/KyLxRy1

https://ibb.co/xg3GRmF

0 投票
0 回答
27 浏览

npm - 智能合约构造函数中的解析错误

在此处输入图像描述

智能合约构造函数中的解析错误,有人可以帮我看看我在做什么,以及为什么这个错误甚至被认为从外面看起来一切都很好。

0 投票
0 回答
796 浏览

solidity - 使用 Uniswap 的 ISwapRouter 将 ETH 交换为 DAI

我正在尝试开始使用 Uniswap V3。作为一个例子,我举了一个最基本的用例:给定 X 数量的 ETH 交换 DAI。不幸的是,我无法让它工作。

已经有一个非常相似的问题(没有答案)但略有不同,因为代码看起来不像我的。

我正在使用 Hardhat 来分叉主网,然后将 Remix 连接到localhost:8545

安全帽配置如下:

如您所见(最底部的完整合同),合同提供 3 个应付功能:

它们都失败了,甚至 getEstimatedETHforDAI,它相当简单且只读(几乎)。没有给定的理由,所以我是盲目的。当我从 Remix 执行函数时,我只得到一个通用错误"Returned error: Error: Transaction reverted without a reason string"。当我查看安全帽控制台时,我看到了这个错误:

看起来合同无效,但我可以在 EtherScan报价器路由器

任何想法?对此,我真的非常感激。

这是完整的合同

0 投票
1 回答
104 浏览

solidity - 安全帽 balanceOf 分叉网络地址返回 0

我在玩hardhat。我的目标是balanceOf从分叉的主网络打印特定地址。

hardhat.config.js

合同:

测试:

在此处输入图像描述

0 投票
1 回答
1958 浏览

solidity - 无法验证与 Hardhat for Etherscan 的可靠性合约

我正在尝试使用安全帽验证并将我的合同源代码提交给 etherscan,但我遇到了以下错误,我不明白如何解决该错误。我已经阅读了代码,但我无法发现我做错了什么。请问有人可以建议吗?

我运行时遇到的错误:

npx hardhat verify --network ropsten 0xA16c8f9A5Ab944454D6404CE626E600AF0054aaa 'MyNFTPrice!

错误信息:

Error in plugin @nomiclabs/hardhat-etherscan: The constructor for contracts/MyNFTPrice.sol:MyNFTPrice has 0 parameters but 1 arguments were provided instead.

我的智能合约源文件(MyNFTPrice.sol):

我的脚本 MyNFTPrice.js:

0 投票
1 回答
1232 浏览

solidity - 使用 Hardhat 在 EtherScan 上验证智能合约时出错

下面是我的智能合约(已经部署)。当我尝试验证它以将代码提交给 Etherscan 时,我收到以下错误,我真的不知道为什么。请问有人可以建议吗?

错误信息:

MyNFTContract.sol:

我的部署脚本 deploy.js: