首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何传递IERC20作为实证性的论据?

如何传递IERC20作为实证性的论据?
EN

Ethereum用户
提问于 2020-11-28 04:36:55
回答 1查看 1.1K关注 0票数 0

我正试图在本地机器上部署sushiSwap。但我不知道我应该在构造函数中传递什么论点..。密码就像..。

代码语言:javascript
复制
pragma solidity 0.6.12;

import "./IERC20.sol";
import "./ERC20.sol";
import "./SafeMath.sol";


contract SushiBar is ERC20("SushiBar", "xSUSHI"){
    using SafeMath for uint256;
    IERC20 public sushi;

    constructor(IERC20 _sushi) public {
        sushi = _sushi;
    }

    // Enter the bar. Pay some SUSHIs. Earn some shares.
    function enter(uint256 _amount) public {
        uint256 totalSushi = sushi.balanceOf(address(this));
        uint256 totalShares = totalSupply();
        if (totalShares == 0 || totalSushi == 0) {
            _mint(msg.sender, _amount);
        } else {
            uint256 what = _amount.mul(totalShares).div(totalSushi);
            _mint(msg.sender, what);
        }
        sushi.transferFrom(msg.sender, address(this), _amount);
    }..

。等等

EN

回答 1

Ethereum用户

发布于 2020-11-28 07:08:30

每当您需要传递契约实例(或描述实例的接口)时,都会传递一个address。因此,您只需要传递一个实现IERC20的契约的地址。

在您的例子中,我不确定对于_sushi到底应该是什么有一些额外的要求--任何IERC20在语法上都是正确的,但是它可能还有其他一些要求(可能是LP标记吗?)

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

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

复制
相关文章

相似问题

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