I'm currently building an iOS Ethereum DApp/Wallet, and my biggest challenge so far has been finding information about how to import Accounts from the Ethereum Network into my DApp.
When I look at Mist for example, I can scan a QR Code of a given account's address, and that of course will allow me to get the Account's address into my iOS DApp, but what about the private key? (or the account's password?)
My iOS client communicates with a Node.js Server, which in turn performs the calls to my deployed Contract(s) via Web3.js, but in order to call state-changing functions I need the account's password to unlock it first. So, in this scenario, Do I need to ask the user the account's password for each Transaction? (Just like MIST does) Or... am I supposed to use the Private Key in this case? and If so, How can I import it?
As you can tell, I'm very confused about the importing procedures in general.
Note. For this Scenario assume I can send password(s) to my Node.js server securely, encrypted, etc.