#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;
}
}
Могу ли я обновить переменную в контракте A из контракта B следующим образом?
Возможно ли это в солидности, если нет, есть ли обходной путь?
Ответ №1:
Да, вы можете изменять свойства родительского контракта, если это свойство не private
является таковым .
Документы: https://docs.soliditylang.org/en/v0.8.6/contracts.html#visibility-and-getters