本文介绍了如何才能做一个合同来批准用户篡改她的令牌?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
就像我有自己的令牌一样我开发了一个DAPP来在我们之间转移我自己的个人令牌。为此,我必须批准,然后使用Transfer From,不是吗我检查了一些NFT游戏,总是,然后在玩之前强迫我的人批准。我试过了,但如果我试过了对我的令牌合同MyDapp
当我保存要批准的用户地址时,我从MyDapp向MyToken发送批准,然后不批准任何工作。
我如何才能做到这一点?或者,什么才是做到这一点的好方法?谢谢
推荐答案
假设您要使用this contract address on Rinkeby
批准复合USDT您使用ethers.js库编写的Java代码(也可以是python或Java,库很重要)(请注意,我只使用前端,我个人对后端一无所知)
const ethers = require('ethers');
const USDTInterface = ['function approve(address spender, uint256 amount) external returns (bool)'];
const USDTAddress = '0xD9BA894E0097f8cC2BBc9D24D308b98e36dc6D02';
const yourContractAddress = YOUR_DAPP_CONTRACT_ADDRESS;
let provider;
let signer;
let signerAddress;
let USDTContract;
const startFunction = async () => {
await ethereum.request({ method: 'eth_requestAccounts'});
await ethereum.request({ method: 'wallet_switchEthereumChain', params:[{chainId: '0x4'}]});
provider = new ethers.providers.Web3Provider(window.ethereum);
signer = provider.getSigner();
signerAddress = await signer.getAddress();
USDTContract = await new ethers.Contract(USDTAddress, USDTInterface, signer);
}
startFunction();
async function approveUSDT(){
USDTContract.approve(yourContractAddress, BigInt("9007199254740990")**3n);
}
//Whenever this function is called, a transaction request is sent to user's metamask and whenever
//user confirms it, it is approved!
这篇关于如何才能做一个合同来批准用户篡改她的令牌?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!