What can an Ethereum Client read & write from Ethereum Platform?

I'm trying to understand how an external app interacts with an Ethereum client (e.g. client written in Go or C++) in terms of what an external app will be able to read and write from/to the Ethereum platform.

As I understand from reading the whitepaper, in terms of READING data, an external app using an Ethereum client can only read an externally-owned account's current ether balance. I assume that it can't read an account's storage as storage is only relevant to a contract account, an account type an external app can't interact with directly. And in terms of WRITING data, an external app can only send a transaction. Is this correct?

I'm also wondering if this should be made more clear in the whitepaper perhaps with a diagram.


Comments

  • chris613chris613 Member Posts: 93 ✭✭
    I don't think there is any api to interact with the ethereum client at this point, but you could link against libethereum. In theoretical terms, you are definitely able to read the storage of all contracts, as well as the history of all transactions and therefore the balance of all accounts (contract or simple). Transactions are the only write mechanism in terms of the ethereum platform itself, though I could anticipate some other ones in an API that deals with client internals, such as adding keys.
  • jw1jw1 Member Posts: 27
    Ok, thanks for clarifying. That explains what I see at etherchain.org.
Sign In or Register to comment.