问题标签 [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.
node.js - --inspect-brk node-args 用于安全帽 js 脚本
我运行这样的安全帽脚本:
我希望能够在 Chrome 检查器中进行调试,但是当我这样做时
我收到错误消息“错误:--node-arg/-n 只能用于带有节点脚本的包。”
有没有办法在 Chrome 中调试安全帽脚本而不求助于 console.log?
testing - 如何使用不同的配置进行测试与部署安全帽可靠性?
现在,当使用安全帽时,我有一个不同的配置用于测试和部署。目前我正在根据我是在测试还是部署来更改文件名。这似乎不是最佳/正确的。
有谁知道我可以指定使用哪个方法?或者更好的是,一种在配置测试与部署中指定的方法?
测试配置:
部署配置:
我想我真的只想在测试时忽略“网络”字段......
localhost - 如何使用 Hardhat 将以太币添加到我的 localhost Metamask 钱包?
我已将元掩码连接到使用安全帽创建的节点。http://localhost:8545
在将链 id 设置为与安全帽网络链 id 匹配后,我可以在 metamask 中连接到网络上的这个节点(31337)
如何将以太币发送到 localhost 网络上的账户/地址,以便这些账户有足够的以太币来部署合约?
request - 测试已完成的链链接 oracle 请求以太/安全帽的最佳实践是什么?
我在 rinkeby 上使用带有以太的安全帽来测试一个智能合约,该合约向本地链链接节点发出 aa get 请求。我可以在节点仪表板上观察到请求已完成。
我正在努力编写一个等待第二次履行交易得到确认的测试。
我在SmartContractKit/chainlink repo 测试中看到了类似的测试
我看不到这会等待完成的交易。在consumer.sol 这个函数调用中有一个事件RequestFulfilled,即emit,但是这个测试似乎没有在监听它。
我发现的另一个示例,ocean protocol request test,通过在测试轮询中创建请求 ID、访问器和 while 循环的映射来完成此操作,直到找到请求 ID。
这是有道理的,我明白它是如何工作的。但是,当我想必须有一种更优化的方式时,我想避免创建映射和访问器。
node.js - 在安全帽上部署合约或铸造 NFT 时出现错误:ProviderError: invalid sender
我正在使用 HardHat 在 Polygon (Matic) 上部署合约,它在部署或铸造时大部分时间都可以工作。但是当我从测试网切换到主网时它通常会中断。
例如:我从主网切换到 rpc-mumbai.maticvigil.com,然后我收到错误 ProviderError: invalid sender。
然后我更新了我的 hardhat.config.js 以指向 matic-mumbai.chainstacklabs.com,我能够毫无错误地创建和部署合约。
我想看看这是否是多边形和/或安全帽发生的已知问题?
ethereum - 安全帽 ERC20 传输失败
我不知道为什么传递函数不起作用。我尝试了 npx hardhat 测试,但传输时似乎失败了。
这是执行合约的安全 JavaScript 代码
我好像失败了ERC20(token).transferFrom(msg.sender, address(this), amount);
javascript - 从安全帽中的交易收据中获取事件
我有一份ethers
与我进行交易的合同:
我有一个与此交易有关的事件:
但是,我在交易收据中看不到日志。]( https://docs.ethers.io/v5/api/providers/types/#providers-TransactionReceipt )
deployment - 使用 Hardhat 部署无法正常工作
我目前正在尝试使用 Hardhat 2.6.2 部署solidity 0.7.6 合同。编译和部署合约到 Rinkeby 测试网时没有显示错误,并返回一个合约地址。当尝试与该合约进行交易时,它会卡住,并且检查 Etherscan 没有可见的合约创建交易。在 Remix 中加载这个合约地址时,我可以与合约进行交易,但是调用一个值时,没有返回值。
合同:
javascript - 带参数运行的安全帽
我需要从命令行使用 hardhat 运行特定的 ts 脚本,但我需要指定参数...与此类似:
其中--network rinkeby
是安全帽运行的参数 和
是task -executor.ts脚本的参数。
我找不到有关此问题的任何帖子,也无法使其正常工作。param1
param2
我还尝试定义一个安全帽任务并添加了这些参数,但如果我尝试执行它,我会得到:
因为我需要在该特定任务中导入hre
或ethers
从中导入。hardhat
有人知道如何完成我需要的吗?
非常感谢!!