I'm reading several articles about privacy in ethereum smart contracts but still I don't understand how everything in the smart contract is visible to anyone?

What does this mean?

1 Answer 1


On a public blockchain, all the transactions between accounts (externally controlled and smart contract) are public. You can browse each transaction of each block using tools such as EtherScan.

For example, on the picture below, you can see every data for a transaction to a smart contract (write operation) :

  • Transaction Hash
  • Block No
  • Timestamp
  • From account
  • To account
  • Value
  • Gas
  • Input data : This is the data passed to the smart contract which are totally public

enter image description here

Moreover, you can call read only (constant) operations for a smart contract if you have the ABI and the contract address.

pragma solidity ^0.4.0;

contract SimpleStorage {
    uint storedData;

    function set(uint x) public {
        storedData = x;

    function get() public constant returns (uint) {
        return storedData;

Here anybody can call get() to retrieve the value of storedData

  • In your example contract, what could be the input data? Although it is public, it's not in readable format...
    – bunjee
    Feb 2, 2018 at 11:04
  • It's not a readable format but someone who knows how it works can decrypt it quite easily. It's basically hexadecimal Feb 2, 2018 at 11:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.