gpt4 book ai didi

ethereum - 使用和不使用 `new` 关键字创建新的 Solidity 合约有什么区别

转载 作者:行者123 更新时间:2023-12-05 00:52:23 24 4
gpt4 key购买 nike

new有什么用用于创建新智能合约的关键字。为什么不直接省略这个关键字?

最佳答案

您可以通过两种方式创建合约

  • 使用"new"关键字
  • 使用合约地址

  • 使用 new 关键字实例化合约的新实例并使用新创建的合约实例

    而在后一个选项中,您使用已经部署和实例化的合约的地址。您可以查看以下代码以供引用:
    pragma solidity ^0.5.0;

    contract Communication {

    string public user_message;

    function getMessage() public view returns (string memory) {
    return user_message;
    }

    function setMessage(string memory _message) public {
    user_message = _message;
    }
    }

    contract GreetingsUsingNew {

    function sayHelloUsingNew() public returns (string memory) {
    Communication newObj = new Communication();
    newObj.setMessage("Contract created using New!!!");

    return newObj.getMessage();
    }

    }

    contract GreetingsUsingAddress {

    function sayHelloUsingAddress(address _addr) public returns (string memory) {
    Communication addObj = Communication(_addr);
    addObj.setMessage("Contract created using an Address!!!");

    return addObj.getMessage();
    }
    }

    关于ethereum - 使用和不使用 `new` 关键字创建新的 Solidity 合约有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42926772/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com