首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在智能合约中使用swapExactETHForTokens?

如何在智能合约中使用swapExactETHForTokens?
EN

Stack Overflow用户
提问于 2020-12-06 15:08:08
回答 1查看 2.2K关注 0票数 0

我想在我的智能合约中使用swapExactETHForTokens,总是失败并返回错误"execution reverted: UniswapV2Library: INSUFFICIENT_INPUT_AMOUNT"

这是我的代码。

代码语言:javascript
复制
pragma solidity ^0.6.2;

interface IUniswap {
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function WETH() external pure returns (address);
}

contract MyDefi{
    
    IUniswap uniswap;
    
    constructor(address _uniswap) public {
        uniswap = IUniswap(_uniswap);
    }

    function tastSwapExactETHForTokens(
        uint amountOut,
        address token,
        uint deadline
    ) external payable {
        address[] memory path = new address[](2);
        path[0] = uniswap.WETH();
        path[1] = token;
        uniswap.swapExactETHForTokens(
            amountOut,
            path,
            msg.sender,
            deadline
        );
    }
  
}

我试图在rinkeby网络中交换DAI令牌,但我从etherscan网站得到了一个amountOut参数。https://rinkeby.etherscan.io/address/0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D#readContract

有人能帮我解决问题吗?

EN

回答 1

Stack Overflow用户

发布于 2020-12-07 20:42:19

如果您正在使用混音值,则值应不同于0。

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

https://stackoverflow.com/questions/65165583

复制
相关文章

相似问题

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