首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ether.js调用还原异常

使用ether.js调用还原异常
EN

Stack Overflow用户
提问于 2022-01-03 09:51:21
回答 1查看 2.1K关注 0票数 0

我正在设置使用ether.js和智能契约部署在本地主机网络上使用硬帽子反应。React应用程序连接到元掩码,使用

代码语言:javascript
复制
const provider = new ethers.providers.Web3Provider(window.ethereum);

合同写在下面

代码语言:javascript
复制
//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.0;

import "hardhat/console.sol";

contract Greeter {
    string private greeting;

    constructor(string memory _greeting) {
        console.log("Deploying a Greeter with greeting:", _greeting);
        greeting = _greeting;
    }

    function greet() public view returns (string memory) {
        return greeting;
    }

    function setGreeting(string memory _greeting) public {
        console.log("Changing greeting from '%s' to '%s'", greeting, _greeting);
        greeting = _greeting;
    }
}

我使用npx部署了这个契约,运行script.js.In,使用

代码语言:javascript
复制
const erc20=new ethers.Contract(address,obj.abi,signer);

在useEffect中,我试图调用erc20.greet(),这在控制台中产生了错误。** (承诺)错误:调用还原异常(method="greet()“、errorArgs=null、errorName=null、errorSignature=null、reason=null、code=CALL_EXCEPTION,version=abi/5.5.0) **

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-27 15:40:59

你需要确保以下几点:

  1. Your元服务器扩展连接到您的硬顶帽本地主机网络.

当您在安装了Metamask扩展的浏览器中运行您的React应用程序时,请确保您的Metamask连接到您的安全帽本地主机网络(默认情况下,它是localhost:8545). )。如果Metamask正在连接到另一个网络,您将得到该错误。

(注意:由于Metamask扩展默认隐藏测试网络,因此需要让它显示测试网络,以便您可以看到所列出的安全帽本地主机网络。)

  1. Use正确的合同地址.

启动“草帽”本地网络时,“安全帽”将返回如下帐户的列表:

警告:这些账户及其私钥都是公开的。任何通过Mainnet或任何其他直播网络发送给他们的资金都将被丢失。帐号0:0xf39fd6e51aad88f6f4ce6ab88279cfffb92266 (10000 ETH)私钥: 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80帐号1:0x709970c51812dc3a010c7d01b50e0d17dc79c8 (10000 ETH)私钥: 0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d .

当您在本地主机网络上使用hardhat部署智能契约时,hardhat将返回如下内容:

合同名称已部署到:合同地址

请确保在这里使用该contract-address作为address参数的值:

const erc20=new ethers.Contract(地址,obj.abi,签名者);

contract-address和帐户看起来非常相似,但它们代表着两种不同的东西。如果您使用一个帐户而不是contract-address,,您将得到错误.

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70563980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档