如果我们有 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 中的变量吗? 这是否可能可靠,如果没有,是否有解决方法?
答案 0 :(得分:1)
是的,您可以修改父合约的属性,只要该属性不是 private
。
文档:https://docs.soliditylang.org/en/v0.8.6/contracts.html#visibility-and-getters