如何使用以太币通过 Nick 的工厂部署字节码?

How to deploy a bytecode via Nick's factory using ethers?

提问人:Sullof 提问时间:11/15/2023 更新时间:11/15/2023 访问量:21

问:

我正在尝试使用 Nick 的工厂部署智能合约,该工厂部署在地址 0x4e59b44847b379578588920ca78fbf26c0b4956c 的许多 EVM 兼容链上。我尝试了很多方法,但都失败了,因为部署的代码是空的。如何使用 Ethers 或 Web3 部署它? 这是我的尝试之一,使用以太币:

async deployContractViaNickSFactory(deployer, contractBytecode, salt) {
    const factoryContract = new this.ethers.Contract(
      "0x4e59b44847b379578588920ca78fbf26c0b4956c",
      ["function deploy(bytes _bytecode, bytes32 _salt) public returns (address)"],
      deployer
    );
    const tx = await factoryContract.deploy(contractBytecode, salt);
    await tx.wait();
    return this.ethers.utils.getCreate2Address(
        "0x4e59b44847b379578588920ca78fbf26c0b4956c",
        salt,
        this.ethers.utils.keccak256(contractBytecode)
      );
});

我找不到原始合约的任何源代码,但我怀疑那里没有部署方法,这可以解释为什么失败。

以太坊 智能合约 以太币.js

评论

0赞 Vega 12/1/2023
请尊重SO的问答形式

答: 暂无答案