在Solidity中,子合约可以改变父合约的值吗?



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

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

相关内容

  • 没有找到相关文章

最新更新