本文介绍了如何才能做一个合同来批准用户篡改她的令牌?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

就像我有自己的令牌一样我开发了一个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!

这篇关于如何才能做一个合同来批准用户篡改她的令牌?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-29 18:32