首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Remix初始化智能合同?

如何使用Remix初始化智能合同?
EN

Ethereum用户
提问于 2022-11-10 04:33:44
回答 1查看 207关注 0票数 0

我有一个有这个构造函数的合同:

代码语言:javascript
复制
constructor(address _nativeTokenWrapper) TokenStore(_nativeTokenWrapper) initializer {}

这个initialize函数是:

代码语言:javascript
复制
    /// @dev Initiliazes the contract, like a constructor.
    function initialize(
        address _defaultAdmin,
        string memory _name,
        string memory _symbol,
        string memory _contractURI,
        address[] memory _trustedForwarders,
        address _royaltyRecipient,
        uint256 _royaltyBps
    ) external initializer {
        // Initialize inherited contracts, most base-like -> most derived.
        __ReentrancyGuard_init();
        __ERC2771Context_init(_trustedForwarders);
        __ERC721_init(_name, _symbol);

        // Initialize this contract's state.
        _setupDefaultRoyaltyInfo(_royaltyRecipient, _royaltyBps);
        _setupOwner(_defaultAdmin);
        _setupContractURI(_contractURI);

        _setupRole(DEFAULT_ADMIN_ROLE, _defaultAdmin);
        _setupRole(MINTER_ROLE, _defaultAdmin);
        _setupRole(TRANSFER_ROLE, _defaultAdmin);

        // note: see `_beforeTokenTransfer` for TRANSFER_ROLE behaviour.
        _setupRole(TRANSFER_ROLE, address(0));

        // note: see `onlyRoleWithSwitch` for UNWRAP_ROLE behaviour.
        _setupRole(UNWRAP_ROLE, address(0));

        // note: see `onlyRoleWithSwitch` for UNWRAP_ROLE behaviour.
        _setupRole(ASSET_ROLE, address(0));
    }

当我使用Remix部署时,当我试图调用initialize函数时,我会看到一个错误:"message": "execution reverted: Initializable: contract is already initialized"

我遇到的问题是契约初始化时所有的值都是空的,没有所有者,也没有管理员或其他任何东西。

如何使用部署智能契约后所需的所有数据调用函数initialize

EN

回答 1

Ethereum用户

发布于 2022-11-10 05:32:35

您的initialize函数有一个修饰符initializer,我相信它是从这里导入的。

修饰符要求您在部署契约本身时调用initialize函数,在部署契约后不能调用该函数。

您是否试图使用可升级的模式进行部署?

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

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

复制
相关文章

相似问题

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