首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何部署自己的白帽和以太的合同?

如何部署自己的白帽和以太的合同?
EN

Ethereum用户
提问于 2022-05-06 20:02:02
回答 1查看 347关注 0票数 1

当我通过hardhat (特别是hardhat- deploy )将Ownable合同部署到乐观的Kovan时,它似乎没有正确地设置所有者,而当我通过Remix部署相同的契约集时,它确实正确地设置了所有者。我有一个指向repro的github链接:https://github.com/zawazawa01/ownable-repro

部署这些合同的正确方法是什么?

我的脚本如下:

代码语言:javascript
复制
module.exports = async ({getNamedAccounts, getUnnamedAccounts, deployments}) => {
    const {deploy} = deployments;
    const {deployer} = await getNamedAccounts();
    const accounts = await getUnnamedAccounts();
    await deploy('TestOwnable', {
      from: accounts[0],
      args: [],
      log: true,
    });
  };
  module.exports.tags = ['TestOwnable'];

而相关的网络配置是

代码语言:javascript
复制
    'kovan-ovm': {
      url: 'https://kovan.optimism.io',
      ovm: true,
      accounts: [process.env.PRIVATE_KEY],
    },

合同是最基本的:

代码语言:javascript
复制
//SPDX-License-Identifier: ISC
pragma solidity 0.7.6;
pragma experimental ABIEncoderV2;

// Inherited
import "@openzeppelin/contracts/access/Ownable.sol";

contract TestOwnable is Ownable {
    constructor() Ownable() {}
}

我使用命令yarn deploy:ovm (运行hardhat deploy --network kovan-ovm )部署它,事务成功,但是根据日志,我们可以看到所有权没有转移到部署帐户:https://kovan-optimistic.etherscan.io/tx/0x9740d01219838ea7a7c8155dc30df9fb12a69105014386a14df4aedd9e401aa9#eventlog

另一方面,使用混合方式部署时,所有权的转移确实成功:https://kovan-optimistic.etherscan.io/tx/0x2b92f8ae26994055d19b5f90fe975dc605177da38865e247cd24f980659315d0#eventlog

我在这里错过了什么?

EN

回答 1

Ethereum用户

发布于 2022-05-07 03:33:28

看看“硬帽”的部署您的合同,他们有一个例子。

应该是这样的-

代码语言:javascript
复制
  const TestOwnable = await hre.ethers.getContractFactory("TestOwnable");
  const testOwnable = await TestOwnable.deploy();
  await testOwnable.deployed();
票数 -1
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

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

复制
相关文章

相似问题

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