0

Imagine a network where only specific nodes have ether and can run contracts, and there are other nodes, lets call then V, that only want to read the content produced by the other nodes.

Is there a way for V nodes to check the values in a specific contract without having ether?

  • You could run a full node and look at the state of the blockchain – schemar Jul 14 '18 at 20:17
0

Yes, it is possible to read the content of the storage without ether.

Premise

Each peer of the network has a local copy of the entire blockchain and of the state, therefore also of each contract's storage. You can get more details in this answer.

Concretely

One can read the raw data contained in a contract's storage with the web3 API function eth.getStorageAt.

To facilitate the read of the data (with a pre-defined interface) one can write solidity functions marked as view (i.e., they promise not to modify the state) and public (i.e., they can be called with a tx). With the web3 API you can call this type of functions locally without a transaction.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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