如何使用 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”