首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将钱包地址设置为Crowdsale地址

将钱包地址设置为Crowdsale地址
EN

Ethereum用户
提问于 2018-04-03 21:44:35
回答 1查看 118关注 0票数 1

我使用的是openZepplin众包合同,它有以下构造函数

代码语言:javascript
复制
contract myContract is Crowdsale {
    function myContract 
    (
        uint256 _rate,
        address _wallet,
        MintableToken _token
    )
        public
        Crowdsale(_rate, _wallet, _token)
}

我想使我的"_wallet“地址与"myContract”地址相同。是否有办法在合同中获取当前的合同地址?

在这些行中,Sudo代码应该是这样的:

代码语言:javascript
复制
contract myContract is Crowdsale {
    function myContract 
    (
        uint256 _rate,
        address _wallet,
        MintableToken _token
    )
        public
        Crowdsale(_rate, <<this.address>>, _token)
}
EN

回答 1

Ethereum用户

发布于 2018-04-03 22:02:10

您可以尝试传递this ir address(this) (这是相同的),但是它不能工作。它似乎认为您正在尝试部署一个抽象的契约。至于为什么,我还不知道,我正在调查。

这就是你想要做的。就像我说的,这行不通。

代码语言:javascript
复制
contract A {
    address public my_address;

    function A(address _val) {
        my_address= _val;
    }
}

contract B is A {
    function B() {
        A(this);
    }
} 

要使其工作,您必须修改您的合同并执行以下操作:

代码语言:javascript
复制
contract A {
    address public my_address;

    function A() {
        my_address= this;
    }
}

contract B is A {
    function B() {
      //do more stuff
    }
} 

如果在Remix上部署它,您将看到my_address具有正确的值。

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

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

复制
相关文章

相似问题

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