子合同可以更改 Solidity 中父合同的值吗

时间:2021-08-01 13:14:13

标签: inheritance solidity smartcontracts

如果我们有 2 个这样的合同:

contract A {
  struct SampleA{
    uint id;
    bytes32 name;
    bytes32 toChange;
  }
  mapping (uint=> SampleA) public idToStruct;
}

contract B is A{
  function changeVar (bytes32 newVar) public {
    idToStruct[0].toChange = newVar;
  }
}

我可以像这样从合同 B 更新合同 A 中的变量吗? 这是否可能可靠,如果没有,是否有解决方法?

1 个答案:

答案 0 :(得分:1)

是的,您可以修改父合约的属性,只要该属性不是 private

文档:https://docs.soliditylang.org/en/v0.8.6/contracts.html#visibility-and-getters