我的合约需要 LINK 代币才能运行。
我想让用户通过合约上的一个函数为合约提供 LINK 代币,然后根据他们的资金为用户做一些逻辑。
我怎样才能在合同中做到这一点?我试过这样打电话。
LINK.balanceOf(walletaddress) 确实有效,(它获取钱包中的链接金额)。但是,由于某种原因,下面的此功能不起作用。它通过了所有,但像空数据一样。
当我从他们的前端按钮进行相同的调用时,Metamask 显示不同。(我认为它和混音一样)
https://testnet.bscscan.com/token/0x84b9B910527Ad5C03A9Ca831909E21e236EA7b06#readContract
以下是我尝试获得合同批准的方法。
function approveTransfer(uint256 amount) public returns(string memory) {
uint256 approveAmt = amount * 10**18;
LINK.approve(_msgSender(),approveAmt);
approvedAmount = approveAmt;
}