首页 > 解决方案 > Solidity:扩展已经部署的合约

问题描述

我有以下 Solidity 合同:

pragma solidity ^0.7.4;

contract Parent
{
    uint public number;
}

contract Child is Parent
{
    function setParentNumber(uint _number) public {
        number = _number;
    }
}

因此,当我部署时Child,我可以修改Parent' 属性number。到目前为止,一切都很好。

问题:是否可以扩展已部署的合约并访问其公共属性?

例子:

  1. Parent已单独部署到地址0x123456,其属性number现在的值为5.
  2. 现在我想将 Child 部署到一个单独的地址,但我希望能够设置Parent's (on address 0x123456) 属性number

标签: ethereumsoliditysmartcontracts

解决方案


如果合约 ( Parent) 不提供改变其数据的接口,其他合约就无法做到这一点。

否则修改账户余额将是每个人的免费游戏。


推荐阅读