注意:如果您发送了值,并且您发送的值应小于您当前的余额,则应支付调用的函数 [英] Note: The called function should be payable if you send value and the value you send should be less than your current balance
本文介绍了注意:如果您发送了值,并且您发送的值应小于您当前的余额,则应支付调用的函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使用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屋!
查看全文