NuDroid v4 - Now available on Google Play

Introducing the NuDroid v4 wallet (release candidate)

Paying everywhere seamlessly with your NuBits where Bitcoin is accepted without being exposed by Bitcoin’s volatility.
.
NuDroid is the first mobile and stable cryptocurrency wallet which can be used to pay for many goods and services at point of sale (POS) offered by merchants accepting Bitcoin and other coins. Basically how you would like to use a currency. No longer depending only on fiat becomes also available to people who cannot afford to be exposed to Bitcoin’s volatility.

Version 4 of NuDroid - Background and Marketing
Here is the fourth version of what is known as the NuBits Android client or Nudroid. Version 3 can still be found on Google Play until the v4 version of NuDroid is released. Existing NuBits Android users can upgrade automatically to this version when released. When you like to participate in testing now, please manually download the v4 release candidate and read the section below.

With this release the NuDroid wallet can be made more resilient and you could run your own server completely removing any 3rd Party trust when running this wallet. You would just trust the Nu network and underlying protocol similar to the official NuBits desktop wallet.
Currently there is only one NuDroid server, therefore the testing of the functionality will be limited. When the usage of NuDroid grows strongly I will submit a proposal to build a secondary server for resiliency, but this shouldn’t stop you now from building your own.

Download
Download the release candidate APK for NuDroid v4.0 here:
This release candidate won’t be published on the Google Store. A final version will be uploaded to Google Store after the 11th August UTC.

Backups, testing and feedback:
The testing window ends on 9th August 23.59 UTC. After this the developer will be paid for their services assuming no issues are remaining. They will continue to support the product.

Please don’t test with amounts you cannot afford to loose. There is no guarantee that we can retrieve your coins when something goes wrong with the wallet or your device. Before you start transferring coins, make sure you make a backup of the wallet and transfer the backup to an USB stick or another device not being your phone or tablet with the wallet. This will significantly increase the chance that you can retrieve your coins if something goes wrong.

You can find the new functionality under Settings. On the right there is a new option called Trusted Server. When you select that you will see one default server setup. This is the current server. You can add servers, change their priority. Also please check out the Help and Restore Defaults option in the upper right corner besides ‘Add new’.

How to log issues?
Please leave a message with any issues in this thread and mention which device and version of Android you are using. You may also be asked to follow up with screenshots or logs which are automatically produced by the App when a problem occurs. These can be send by email. Please mention your alias when sending the log so the developer can retrieve your log more easily.
Alternatively you can chat about NuDroid on Gitter.

Release notes NuDroid v4.0:

  • The ability to add more than one trusted server to the App to allow users to set up their own trusted server besides the default server
  • Allow prioritisation and fall-back to these trusted servers to increase resiliency of the App.

Please have a look at previous release notes about the Android wallet for all current functionality.

NuDroid development - next steps?
With the v4 release the development part of this custodial grant has been completed.
Please have a look at previous release notes to have an overview of the developments.
The intention is to continue to develop NuDroid in the coming months, however this will require a new custodial grant. Ideas on the functionality are summarised here as a wishlist. I like to hear your feedback on what you would prefer to see next.

I will wrap up and report back on the custodial grant delivery in the next few weeks as some marketing efforts and testing of v4 is still ongoing.

The detailed requirements from the custodial grant for this build
This release adds the ability for the user to configure a list of servers that implement a method for retrieving valid NuBits block hashes as according to the API method located at https://svr1.nubitsexplorer.nu/q/getvalidhashes There are two main use cases:

It allows to add two or more servers in case the primary server is not available. This provides redundancy when a secondary server is available (not part of this custodial grant).
It enables an user to assign their own back-end server and with that creating a completely trustless solution.

Further details of the implementation: A new Android UI Activity will be located under the “Settings” menu between “Settings” and “Diagnostics” named “Trusted Servers”. This Activity will contain a list of rows. Each row will contain a priority number and a server name.

Long-clicking a server name will bring up a dialog box. This dialog will have options for the server name to be displayed in the list, the URL for the server method, and a checkbox which will give the server equal priority to the one above it if selected. This dialog will have three buttons, one that deletes the server after a secondary confirmation (“Are you sure you wish to delete server SomeName?”), another that cancels the dialog, and another that saves the new server details.

The server list will be prioritised with high priority servers being listed first. The app will automatically assign priority numbers depending on the server order. If a server has the same priority as the one above it, it will share the same priority number. The lower the priority number, the higher the priority, ie. Servers with priority 1 will be accessed first. Priority numbers will start at 1 and increment by 1, ie. 1,2,3,4,5,6…

Users will be able to reorder servers by touching an icon to the left by using code located at https://github.com/bauerca/drag-sort-listview demonstrated with the following app: https://play.google.com/store/apps/details?id=com.mobeta.android.demodslv

The action bar will contain a button for creating a new server item, with the same dialog as editing a server but without the delete button. The menu will contain a help screen, describing how to use the Activity, and the ability to restore the server list to the defaults.

The app will download valid hashes by communicating with a random server with priority 1 first. If this server cannot be used, it will try all other priority 1 servers, and then move onto priority 2 and so on. The server list will be stored in a private SQLite database.

Enjoy! :sunglasses:

6 Likes

Dear NuDroiders:

Please follow the instructions above (beginning at “Further details of the implementation”) and add my test-server to your trusted list:

https://anton.coinerella.com/q/getvalidhashes

Update: server is looking good now, please test …

SSL is forced. Please use the whole string, as it might not work without the /q/getvalidhashes part.

If you really want to test it, remove the default server and only use mine. There should be no difference what so ever.
To restore the default server, go to trusted servers, click the button on the top right (three dots) and press restore defaults.

Happy to hear any feedback.

Please note:
In case this [Passed] Grant for maintaining a NuDroid server grant passes, the server will remain online, so no need in removing it, if it works for you :wink:

Thanks,

Willy

2 Likes

Talk –
Action ++
Awesome!

Update to v4.01

Matthew is going the extra mile with this release and has added some nice features to the new v4 functionality.

The new functionality includes:

  • highlight the servers in the list a light shade of red or green depending on whether or not the server responded successfully the last time it was queried,
  • Highlight the last successful server in bold.

Only in this thread for download now!
Try it with Willy’s server (when it is up again).

This update will be included in the final release.

5 Likes

anton.coinerella.com is online now… please test

1 Like

I’ve installed 4.01, deleted the default server and added @willy’s.
Trying to copy the “/q/getvalidhash” string from the default server before deleting it, I had a little bit of trouble, because the “copy, cut, paste, etc.” icons at the top of the screen were invisible (albeit working).
Is that only related to my phone or do others experience the same?

Sorry, I typed it in my self. Maybe @MatthewLM or @cybnate can help.

Is the server green for you though?

Yes and I’ve received block updates since I deleted the default server. Your server is the only one. So it’s working.
Can you try to edit your server string in your NuDroid?
Try to mark and copy a part of it. Do you see the “copy” icon?

Can’t mark the text. Sony xperia z1 compact with swift key

On my LG G3 using SwiftKey, I am able to highlight, copy, paste etc. by long pressing the text.

I can long press and highlight text.
But the copy, paste etc. symbols are not shown.
I copied and pasted the highlighted text (from the default server to @willy’s; didn’t want to mess the test up by putting typos in the string) knowing where the icons for doing that ought to be.

Considering your last message this tells us two things:

  1. the copy/paste icons not being shown is related to the phone I tested 4.01 (Samsung Galaxy S4 mini with standard keyboard; Android 4.2.2)
  2. I compose text way too often on it :slight_smile:

Do you get this issue with any other applications? Particularly do you get the same thing with dialogs (much like the one in NuDroid) in other applications? Do you get this with other dialogs within NuDroid? For instance if you click on a transaction and then the pencil, it brings up a dialog with the “Name” text field. Does that give the same issue?

No, they often bring a kind of pop-up instead of a menu at the top of the screen. Those who have that menu at the top work fine.

Nope, everything’s working fine except for NuDroid text editing.

Affirmative! See next question for more information.

Exactly that. I set a name, pressed long and the same bugged menu appears at the top of the screen. The only icon that appears is a check mark on the left of the menu. This is the only icon that appears, but this one appears in all of the bugged menus.

Btw. I messed up the default server configuration in NuDroid :slight_smile:
It’s red.
Is

https://svr1.nubitsexplorer.com/q/getvalidhashes

correct?

.nu

OK. Thanks for this information. This thus appears to be both an issue affecting particular devices and exists within the overall app, not regarding my specific changes. This is something that I can look at resolving for a future release if desired. Could you see if the issue affects the latest Bitcoin android wallet? It may have been already resolved in the Bitcoin codebase.

Also the URL for the server is indeed https://svr1.nubitsexplorer.nu/q/getvalidhashes

1 Like

I have no gods besides wallets aside from Nu.
Thank you for the URL. @willy already told me. Silly me.

Issue with NuDroid and most likely Nu2.0

There are sync issues with the new Nu2.0 clients with NuDroid. It can still sync with v1.2 clients. I’m contacting Matthew to work on a solution to this. We might need to install the new client on the server immediately, but I don’t want to act without his advise as we have at least a workaround (pointing to trusted v1.2 client) to keep the wallet running.

BTW the latest version of NuDroid is now on Google play.

I had trouble updating the blockchain with NuDroid 4, updated it to the most recent version available on Google PlayStore and everything is fine now.
Both the default server (https://svr1.nubitsexplorer.nu/q/getvalidhashes) and @willy’s server (https://anton.coinerella.com/q/getvalidhashes) show a green connection indicator and the blockchain is synced (484,593 blocks).

1 Like

There appears to be an issue with the svr1 server. Working on it. Please check out willy’s server in the mean time if you need it. When correctly setup it should now be using the ‘other’ server.

Edit: probably a glitch, it seems to work now again. Had to do a hard reset.

1 Like