注意:如果您发送了值,并且您发送的值应小于您当前的余额,则应支付调用的函数 [英] Note: The called function should be payable if you send value and the value you send should be less than your current balance

查看:7
本文介绍了注意:如果您发送了值,并且您发送的值应小于您当前的余额,则应支付调用的函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用openzeppelin的ERC20实现,但遇到错误。TokenAddress是现有ERC20令牌的地址,例如usdc-0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48

import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.4.0-solc-0.7/contracts/token/ERC20/ERC20.sol";

ERC20 token = ERC20(tokenAddress);
token.balanceOf(msg.sender);

出现错误

恢复事务已恢复到初始状态。注: 如果您发送Value和Value,则调用的函数应为 您发送的金额应少于您当前的余额。调试 事务以获取更多信息。

推荐答案

Remix VM模拟器无法访问部署在主机地址上的协定-它位于不同的环境中。

但是,您可以将Mainnet分叉到本地环境,然后将Remix连接到此本地环境。

这里有一个article介绍如何使用Ganache派生以太主网。

基于文章的一键解决方案:

ganache-cli --fork https://mainnet.infura.io/v3/{infura_project_id}

然后您可以在Remix IDE中选择一个自定义提供程序。

ganache-cli正在端口8545上侦听,而ganache UI正在7545上侦听。

输入端口号8545(ganache-cli)或7545(Ganache UI)的本地Web3提供程序终结点地址。

这篇关于注意:如果您发送了值,并且您发送的值应小于您当前的余额,则应支付调用的函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆