稳固性:扩展已经部署的合同

问题描述

我有以下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的(在地址0x123456上)属性{{1 }}

解决方法

如果合同(Parent)没有提供用于对其数据进行突变的接口,则其他合同将无法做到。

否则,修改帐户余额将是所有人的免费游戏。