如果我们有两个这样的合同:
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中的变量吗?这在固体中可能吗?如果不可能,有没有变通的办法?
可以修改父合同的属性,只要该属性不是private
。
文档:https://docs.soliditylang.org/en/v0.8.6/contracts.html visibility-and-getters