I'm working on developing a decentralized application which requires every user of the Android app to have separate account containing his ether balance information and other user-specific information.
I read about the concept of
full-nodes but came to know the official Ethereum light-client is still under development.
Then I stumbled on these articles about using ethereum in Android and Iphone. So they kind of suggested of creating a
Full-Ethereum node and make your app interact with this node using
JSON-RPC protocol. So I came up with the following architecture:
Android App (Contains user's private key and data) ----> Ethereum Full-node server (Set up using available clients for ethereum (in python)) -----> Ethereum Virtual Machine.
I've some questions as follows:
Is the above architecture safe? (What happens if server is compromised or the server is biased)
Do I need to create a Full-node Ethereum client corresponding to every Android app user.
What type of user's data will the Full-node server need to process a transaction on its behalf?
Last one is slightly out of context and might be very vague, Given a JSON-RPC library like [web3j] and a full-node client like [pyethapp] running on a different device, How would I make the
web3j interact with