首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UniswapV3交换DAI/USDT问题

UniswapV3交换DAI/USDT问题
EN

Ethereum用户
提问于 2022-11-11 21:11:42
回答 1查看 50关注 0票数 0

我正在使用本教程中的单个交换实现:单换 (在我的硬件测试环境中,也就是Mainnet叉)。

我的例子中的tokenIntokenOut对是DAIUSDT

我从amountIn文件传递的test.js参数是DAI令牌的BigNumber。

代码语言:javascript
复制
        // Naively set amountOutMinimum to 0. In production, use an oracle or other data source to choose a safer value for amountOutMinimum.
        // We also set the sqrtPriceLimitx96 to be 0 to ensure we swap our exact input amount.
        ISwapRouter.ExactInputSingleParams memory params = ISwapRouter
            .ExactInputSingleParams({
                tokenIn: tokenIn, // DAI address
                tokenOut: tokenOut, // USDT address
                fee: 3000, // default
                recipient: msg.sender,
                deadline: block.timestamp,
                amountIn: amountIn, // DAI
                amountOutMinimum: 0,
                sqrtPriceLimitX96: 0
            });

        // The call to `exactInputSingle` executes the swap.
        uint256 amountOut = swapRouter.exactInputSingle(params);

因此,当这个交换完成时,我得到的amountOut值是奇怪的。例如,如果我使用BigNumber 7706622438316931417300 (~ 7706 DAI),则amountOut183540559 (~ 183 USDT)。但是它的值是不正确的,因为DAI价格大约等于USDT

,那么问题是什么?

也许一些大数转换是错误的,因为不同的小数?或者我只需要用不同的方式来使用这个交换示例?

请帮帮忙。

EN

回答 1

Ethereum用户

回答已采纳

发布于 2022-11-12 02:30:21

你有足够的流动性吗?因为有一点,无论您传递多大的tokenIn,tokenOut都将保持不变。

票数 0
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/139240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档