【问题标题】:Chainlink Hackathon 21 HardHat tutorial execute function in Smart ContractChainlink Hackathon 21 HardHat教程在智能合约中执行函数
【发布时间】:2021-12-14 22:37:37
【问题描述】:

我会把它放在堆栈溢出上,但它是特定于黑客马拉松的。这是针对 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)。任何想法都会有所帮助...谢谢。

这是任务

task("get-number", "Reads the number")
  .addParam("contract", "The contract's address")
  .setAction(async (taskArgs) => {
    const contractAddr = taskArgs.contract;
    const MyFirstContract = await ethers.getContractFactory('MyFirstContract');

    const accounts = await ethers.getSigners();
    const signer = accounts[0];
    const myFirstContract = await new ethers.Contract(contractAddr, MyFirstContract.interface, signer);

    let result = BigInt(await myFirstContract.getNumber()).toString();

    console.log('Stored number is: ' + result);
  });

module.exports = {};

【问题讨论】:

    标签: task solidity execute chainlink hardhat


    【解决方案1】:

    我在学习这个黑客马拉松教程时遇到了类似的错误。

    我的解决方法是在执行我的任务时指定--network,获取编号。所以,在你的例子中:

    npx hardhat get-number --network localhost --contract 0x5FbDB2315678afecb367f032d93F642f64180aa3
    

    这将使用当你运行npx hardhat node时演示指示你启动的Hardhat网络执行任务

    Hardhat Network doc

    See Running Stand-Alone doc

    我在 hackathon Discord 上问为什么演示没有通过这个,但仍然有效,但尚未收到答案。

    【讨论】:

    • 我尝试过,但出现错误 :( 。这是我收到的错误 Error HH108: Cannot connect to the network localhost。请确保您的节点正在运行,并检查您的 Internet 连接和网络配置。我的节点正在运行。你对网络配置做了什么特别的事情吗?
    • 我尝试了kovan网络,代码运行完美。 IDK。
    【解决方案2】:

    我有同样的问题,我修复它的方法是用npx hardhat node --hostname 0.0.0.0而不是npx hardhat node启动安全帽

    您还需要将合约部署到本地主机:npx hardhat run scripts/deploy.js --network localhost

    然后使用npx hardhat --network localhost调用这2个函数。

    【讨论】:

    • 谢谢,我会试试看。最好有一个本地安全帽环境。我刚刚在 kovan 网络上启动,它工作正常。感谢您的跟进。
    猜你喜欢
    • 2021-11-15
    • 1970-01-01
    • 1970-01-01
    • 2021-06-17
    • 2022-12-24
    • 2021-09-03
    • 2021-11-15
    • 2022-06-16
    • 2022-11-11
    相关资源
    最近更新 更多