Solidity supports the private keyword for declaring private variables and functions. At first, this may look like a place where we can store values privately, but since all the data in Ethereum is public, values stored in these private variables can also be read.
In this recipe, you will learn to read the private values of a contract and ways to prevent such security vulnerabilities.