Hi Dev,
I use Cordova for all things mobile. The app I mentioned a few posts ago is basically a wallet, but you wouldn't recognize it as one if you saw it. But it is using, and I have available, all of the technology ready to generate addresses, create & scan QR's & send transactions. I finally was able to get my nodejs transaction relay hooked up to the network, and can even reuse the code to make an app that hooks directly to the bongger p2p network to broadcast tx's. I could put together a nearly complete wallet app (UI and all) in a matter of hours, and will do so and send will send along an apk (assuming you have an android) in the next day or so. For a full fledged wallet app though, one thing that I don't quite have yet is the ability to obtain an accurate balance for any given address and it's set of unspent outputs from the network directly. I have been working on it and here is my thought stream on my progress so far:
In my app, I'm storing all unspent outputs in a separate database, and that works for me because it's a closed loop system and does not need the network for balance info. To get balances, I could do the same thing and cache unspents locally, but if the data gets lost or otherwise destroyed your EFFED. A more reliable way maintain balance info would be to host a common database for unspents for all wallet app users, but that costs, and kind of goes against the spirit of the cryptocurrency paradigm and this app should be made to reflect the intention of the currency it works with.
Since it's not at this time a reasonable option to store a copy of the chain on a mobile device, there will need to be an external service available to get the required information. With all above in mind, my plan was and is to stand up a clone of a blockchain explorer to support my app, as also mentioned in a previous post, that includes a balance endpoint in the API. I've looked at prohashing.com's explorer as a potential solution for a balance endpoint by making the same postback call as the page does from a browser, but their server is notoriously flaky and I'm not sure there isn't some kind of sessioning going on that would make using it intractable. My next option is to use a modified version of the bitcore suite. My next todo after I get a couple of transaction relays up and running out in the wild is to have a look to see how much doing it will take to get 'bongcored' instance going. If I can do that, then I could stand up a node with an address index and either use their InsightUI for an explorer and api balance endpoint.
Bottom line, all the work that remains using what I have so far is completely external to the on device app. And the on device portion will hopefully be in testing here in the next few hours, but using the json rpc interface to a full node as a stand in for the balance API...