Solidity - Variable Scope
Scope of local variables is limited to function in which they are defined but State variables can have three types of scopes. Public − Public state variables can be accessed internally as well as via messages. For a public state variable, an automatic getter function is generated. Internal − Internal state variables can be accessed only internally from the current contract or contract deriving from it without using this. Private − Private state variables can be accessed only internally from the current contract they are defined not in the derived contract from it. pragma solidity ^ 0.5 . 0 ; contract C { uint public data = 30 ; uint internal iData = 10 ; function x () public returns ( uint ) { data = 3 ; // internal access return data ; } } contract Caller { C c = new C (); function f () public view returns ( uint ) { return c . data (); //external access } } contract D is C { function y () publ