如何使用 UniswapV2Router02 合约用 swapExactTokensForETH() 将 Token 换成 ETH

Posted

技术标签:

【中文标题】如何使用 UniswapV2Router02 合约用 swapExactTokensForETH() 将 Token 换成 ETH【英文标题】:how to swap Token for ETH with swapExactTokensForETH() using UniswapV2Router02 Contract 【发布时间】:2021-05-16 23:26:21 【问题描述】:

我正在尝试使用 Etherscan(Ropsten 测试网络)上的 UniswapV2Router02 将 Ropsten 网络上的一些 DAI 换成 ETH。

Ropsten 上的 DAI 地址 = 0xad6d458402f60fd3bd25163575031acdce07538d WETH = 0xc778417E063141139Fce010982780140Aa0cD5Ab

我的钱包里有 2000 DAI (Ropsten)

但是当我把数据放在那里时。像这样:

Metamask 显示合约抛出了一个错误。 所以我可能遗漏了什么或者我做错了。

可以请人帮忙并告诉我如何在那里进行成功的交易吗?

【问题讨论】:

【参考方案1】:

我得到了这个工作。 如果有人有兴趣知道如何,这就是我所做的。

1- amountIn 应该是 10^18,这意味着 100 是错误的,应该是 100x10^18 = 100000000000000000000

2- 首先我必须批准 UniswapRouterAddress 才能花费这 100 DAI。 所以在 DAI 合约地址上,我不得不像这样放置数据:

在那之后,我无法将 100 DAI 换成 ETH(相当于 100 DAI 的价值)

【讨论】:

以上是关于如何使用 UniswapV2Router02 合约用 swapExactTokensForETH() 将 Token 换成 ETH的主要内容,如果未能解决你的问题,请参考以下文章

在 swapExactTokensForTokens (UniswapV2Router02, web3.js) 期间恢复交易

Rinkeby Uniswap swapExactETHForTokens - 失败并出现错误“UniswapV2Router:EXPIRED”

UniswapV2工厂合约里的函数选择器和事件选择器

UniswapV2配对合约里的函数选择器与事件选择器

Sushiswap的部署方法

检查ApeSwap工程