Dash Wallet for Android (IX w/ Send and Receive, New UI)

Is this app a step in the right direction?


  • Total voters
    15
  • Poll closed .

HashEngineering

Active Member
May 3, 2014
319
374
133
hashengineeringsolutions.com
The developers of the Dash Wallet for Android are ready to test the production version of the Dash Wallet for Android that has these updated features:
1. New User Interface
2. Ability to Receive IX transactions and know if they are locked
3. Ability to know that Sent IX transactions are locked.
4. Ability to respond to dash: links on websites to send DASH.
5. InstantX has been renamed InstantSend.

This version will replace previous versions, unlike other beta test or testnet apps, which were separate apps. (be aware/secure your funds) -- Always have a backup of your wallet!

Download:
https://github.com/HashEngineering/dash-wallet/releases/tag/v4.65.12e

Source Code:
https://github.com/HashEngineering/darkcoin-wallet/tree/release-4
https://github.com/HashEngineering/darkcoinj/tree/release-0.14

Developers:
DASH protocols: https://dashtalk.org/members/hashengineering.463/ - dash:XywwpkwZYAypoW2cCmdczh4kFcvWWb9ZZW
New UI: https://dashtalk.org/members/tomasz-ludek.4173/

This thread originally was for testing of the beta version, which included some of the features above. Thanks to the testers, we were able to get feedback to fix many bugs.

Previous notes on Beta versions:

Please read the following before installing this apk (the beta version):
0. Don't use large amounts of DASH to do your testing, in fact at first, don't use any and just look around the app and see what you like or don't like about the interface.
1. This beta version will not install over the stable version of Dash Wallet on your device.
2. The beta version doesn't use the same wallet file as the Dash Wallet on your device, though it is possible to restore a backup from the stable version.
3. The beta version has a setting called Lite Mode. If Lite mode is ON, then the app doesn't maintain a list of masternodes to verify InstantX locks (it waits to get 6 of the 10 masternode verified locks). If Lite Mode is OFF, then the app uses a lot of bandwidth and it can verify InstantX locks with greater confidence because it can check that a lock is from a valid masternode. Test this app on Wifi only if bandwidth isn't free for you.
4. The beta version has a new user interface that is not complete. Some parts may seem like they don't fit, let us know what those are.
5. The beta version (when Lite Mode is OFF) tries to maintain a list of masternodes to verify instantX transactions. If the app hasn't finished syncing the list, then InstantX transactions will not show as "Verified", which means locked, by the network. We are not sure how long it takes to sync the list. There is a notification on the main screen showing "Synchronizing Sporks..." and then "Syncronizing Masternodes" but means that the app is getting a list of the masternodes, but hasn't retrieved all the information for the Masternodes. When the "Synchronizing" message goes away, it would seem that the app is done, but it is not yet done. We will add this later.
6. If you plan to test the sending and receiving IX transactions, then start the app and wait for 10 or 15 minutes. Try it also when the app starts. See if the app reports that InstantX transactions are verified by the Dash Network (this text or similar text will appear on the screen).
7. If the app crashes, send a crash report. If the app doesn't prompt you to send it, then go to Settings | Diagnostics | Report Issue. Enter a small description of what you were doing or what screen you were in when it crashed.

After we get feedback, we can tackle the issues that need to be fixed.​
 
Last edited:

Sub-Ether

Well-known Member
Mar 31, 2014
1,516
1,254
183
Ok, IX version is on my android phone here goes,
synced and normal TX funds cleared quickly ~3 mins

Test 1: Android IX to Laptop = 3.62 seconds (pure 4G GSM only at 0.5 megabits/s download, no cable, no wifi for phone)
test 2 : Android IX to laptop = 3.23 seconds (GSM) (crashed after second test, single restart brought it back)
test 3 : Android IX to laptop = crashed straight away(GSM) I had to reinstall again and restore backed up wallet.
test 3 : time Android IX to laptop = 1.70 seconds (minus my reaction time so making about 1.5 seconds, a world record?!)
(re:test 3 : Android IX to laptop = crashed first time, I had to reinstall again and restore backed up wallet.)

Average instantX times from android to laptop = 2.85 seconds (minus reaction time of stopwatch reflex, making 0.2 seconds less)

Note:laptop is on an upload of 6 megabits per second wifi network (2 meg upload)

Test 1 : laptop IX to android = 2.16 seconds
Test 2 : Laptop IX to android = 7.38 seconds
Test 3 : Laptop IX to android = 1.65 seconds (-.2 reaction time, makes 1.45 seconds, another record to the android this time ?)

Average instantX times from Laptop IX to android = 3.73 seconds (minus reaction time of stopwatch of about .2 seconds)

Observations:
slightly unstable, crashed a few times, and lost network connection(phone memory was almost critical, may have affected it or network dropped a few packets), faster wifi may sort this but for a poor connection this is good and 'real' 4G none third world pseudo 4G must be better.

Plus points:

had to reinstall after crash(it would not start without errors) and wallet restored from backup no problemo, sync was only 7 days behind so I got resynced quickly (~2.5 mins) with the lost funds, and they came back straight away.

Conclusions

IX Laptop to android seems to be 100% reliable?
Android has a few bugs, with crashing but none of them critical, just make sure you back up the wallet first because you will need to reinstall and import the wallet, otherwise loss of funds (do NOT risk much anyway, only a few dash)

Phewee, well guys that took 5 hours to fully test and find some bugs, I don't usually ask but any small tips would be highly appreciated as I'm low on funds at the moment,
anyway I like to help when time.
have a nice day :)

XrAjJvprxjtSoLipTZdQB4uiYnDNCJZxVG

Thanks a many!

Btw, the QR scan camera code works absolutely fine :)

Byzzzz

P.S. Back to sunny side up now ;)
 
Last edited by a moderator:

tungfa

Administrator
Dash Core Team
Moderator
Foundation Member
Masternode Owner/Operator
Apr 9, 2014
8,900
6,726
1,283
looks great !
wish i had an android !
tx hash + tomas !!
:D
 

Sub-Ether

Well-known Member
Mar 31, 2014
1,516
1,254
183
Great work guys, sent a little donation
a706d890924023d6cb99b6f4d1e3326a89057b1a547df89e894575ba995eb749
Thanks, I had to sell most of my Dash for medical treatment and a much needed holiday, which was very hard parting with, but health comes first, I seem to be on the mend now :)
Have a few ideas to discuss at a future meetup regarding a possible project, so am hoping I can earn a few back :D
 

Sub-Ether

Well-known Member
Mar 31, 2014
1,516
1,254
183
I am going to some islands in SE Asia where the internet connection is very very slow, it can be 5-10k, so I will be interested to see how the android wallet and laptop cope with updating and transfers, because much of the third world has very slow internet. This is a huge market and it would be nice to know where we stand and current viability...
(the slowest ever was in Indonesia at the gili islands, the page was loading a character/word at a time!)
 

tomasz.ludek

New Member
Core Developer
Nov 7, 2015
32
77
18
Poland
Dash Address
XgvRzefE51gN7eFWfh3Cy3xF8rw8n2RE9U
Hi Guys,
I think the most important for us would be tests of receiving InstantX transactions. HashEngineering did amazing job implementing this feature into dashj library (darkcoinj).
This library, which is a core of Android wallet, is the standalone Java library and in the future could be used, by merchants to easily implement InstantX payments (not only on Android). It based on bitcoinj, but operates on Dash.

Thanks for the feedback!
 
Last edited by a moderator:

UdjinM6

Official Dash Dev
Dash Core Team
Moderator
May 20, 2014
3,638
3,538
1,183
For the address book screen, any way to adjust it so that the addresses are on one line instead of three? It just looks weird.
I think this was made intentionally - note that addresses are also splited into blocks of 4 letters each. Those 2 changes together make it a bit easier to verify address symbol by symbol imo. Though I personally usually verify few first and few last symbols only...
 
  • Like
Reactions: TaoOfSatoshi

tungfa

Administrator
Dash Core Team
Moderator
Foundation Member
Masternode Owner/Operator
Apr 9, 2014
8,900
6,726
1,283
Is there any other feedback from testing this new version?

Any bugs? send the crash reports in the app.
I just shared this on some SM pages to get you more action and testers
 

Solarminer

Well-known Member
Apr 4, 2015
762
921
163
HashEngineering
Got a bug in Receive Coins - Request from local app. Crashed and sent a report.

Accept payment over bluetooth is checked.
Getting 1.3 seconds to receive pretty consistently on the IX receives.

The message for IX received coins is This is an InstantX payment that has been verified by the Dash Network.
Can we change this to say something that this payment is secured by masternodes.....Or maybe this payment is successfully locked.

The message for standard payments is This payment should become spendable in a few minutes.
This message should be more obvious that it is an unconfirmed transactions. Maybe - Unconfirmed transaction received. Please wait 1-6 block confirmations depending on the security needed.
 

Solarminer

Well-known Member
Apr 4, 2015
762
921
163
Sending with IX, is just as fast but much harder to actually measure with only one set of hands. About 1.3 or 1.4 seconds.

I like the floating QR code button. It wasn't 100% obvious, but close enough. Way better than hunting in the menu to scan.

The default field for a send is in $. It should default to Dash. If you ever pay a merchant, they will ask for Dash - not $ at an unknown conversion rate. It is cool that the app can convert automatically.

It is getting the QR code correct. It puts the label and amount in the right spots.

What is the empty wallet? Is this just sending out your entire balance? Sounds scary. Can that be changed to Send All?

As for speed technically this is 1.3 seconds +/-0.1 seconds. But for advertising we can say 2 seconds (in fine print +/- 2 seconds depending on network connection). All things considered it takes way more than 2 seconds to setup the payment, put in password and hit yes.
 
  • Like
Reactions: splawik21

HashEngineering

Active Member
May 3, 2014
319
374
133
hashengineeringsolutions.com
HashEngineering
Got a bug in Receive Coins - Request from local app. Crashed and sent a report.

Accept payment over bluetooth is checked.
Getting 1.3 seconds to receive pretty consistently on the IX receives.

The message for IX received coins is This is an InstantX payment that has been verified by the Dash Network.
Can we change this to say something that this payment is secured by masternodes.....Or maybe this payment is successfully locked.

The message for standard payments is This payment should become spendable in a few minutes.
This message should be more obvious that it is an unconfirmed transactions. Maybe - Unconfirmed transaction received. Please wait 1-6 block confirmations depending on the security needed.
I didn't get the crash report. This itself could be the result of another bug in the app. I need to test again if "report issue" works.

We can change the text for InstantX payments (one is for receiving/sending without being locked, the other for being locked). I chose long sentences as a starting point to make it clear what was happening for testing purposes. I would prefer in the long term to use something similar to Dash Core, with perhaps some other visual indication. I would like for it to be simple, short and understandable to the average user.

The issue with changing the text is that since this is based on Bitcoin Wallet, all other languages besides English will not be changed without proper translation. For instantX messages, there are no translations currently, since that is new for Dash Wallet. In the future we would need some translation to be done for new text or changed text.

Sending with IX, is just as fast but much harder to actually measure with only one set of hands. About 1.3 or 1.4 seconds.

I like the floating QR code button. It wasn't 100% obvious, but close enough. Way better than hunting in the menu to scan.

The default field for a send is in $. It should default to Dash. If you ever pay a merchant, they will ask for Dash - not $ at an unknown conversion rate. It is cool that the app can convert automatically.

It is getting the QR code correct. It puts the label and amount in the right spots.

What is the empty wallet? Is this just sending out your entire balance? Sounds scary. Can that be changed to Send All?

As for speed technically this is 1.3 seconds +/-0.1 seconds. But for advertising we can say 2 seconds (in fine print +/- 2 seconds depending on network connection). All things considered it takes way more than 2 seconds to setup the payment, put in password and hit yes.
I am confused concerning the default field to send is in $. On my screen, which is the same as the screen shot in a previous post on this thread, there are two fields: one is DASH and the other is local currency such as $. The user can enter an amount in either one. What do you mean by "default to Dash"?

Empty wallet is from the original Bitcoin Wallet. It will send all DASH in the wallet. We could change it to "Send All" in English. Other languages would need to be changed as well, if necessary. There is another option on that Send Coins page for changing the Fee. This probably wasn't updated from Bitcoin Values and may not work properly, yet. It probably isn't necessary, but is a way to give the miners more fees if the the user desires.

Thanks for the time measurements.
 

Solarminer

Well-known Member
Apr 4, 2015
762
921
163
I didn't get the crash report. This itself could be the result of another bug in the app. I need to test again if "report issue" works.

We can change the text for InstantX payments (one is for receiving/sending without being locked, the other for being locked). I chose long sentences as a starting point to make it clear what was happening for testing purposes. I would prefer in the long term to use something similar to Dash Core, with perhaps some other visual indication. I would like for it to be simple, short and understandable to the average user.

The issue with changing the text is that since this is based on Bitcoin Wallet, all other languages besides English will not be changed without proper translation. For instantX messages, there are no translations currently, since that is new for Dash Wallet. In the future we would need some translation to be done for new text or changed text.



I am confused concerning the default field to send is in $. On my screen, which is the same as the screen shot in a previous post on this thread, there are two fields: one is DASH and the other is local currency such as $. The user can enter an amount in either one. What do you mean by "default to Dash"?

Empty wallet is from the original Bitcoin Wallet. It will send all DASH in the wallet. We could change it to "Send All" in English. Other languages would need to be changed as well, if necessary. There is another option on that Send Coins page for changing the Fee. This probably wasn't updated from Bitcoin Values and may not work properly, yet. It probably isn't necessary, but is a way to give the miners more fees if the the user desires.

Thanks for the time measurements.
Understand about the language....an icon should be able to get the point across.
I am thinking an icon with a closed lock should be used for instantx receives. Use an open lock with a standard transaction until it hits 5 or 6 confirms - then it changes to a closed lock.

You should be confused on the default comment. Ignore that. It actually does default to dash if you scan a QR code without an amount. I think I was just hitting the screen yesterday. Sorry.

Yes, changing the English to Send All will help.

As for the fees. I think there is value in having the option to select fees. There really are three choices now. 0 fee, standard, and instanx. (At least the QT wallet has the option to allow 0 fee transactions - don't know if that works though). But who knows what the fees will be like in a year. The min/standard/max + check box instantx seems good for now and the future.
 

kot

Administrator
Dash Core Team
Moderator
Foundation Member
Masternode Owner/Operator
Dash Support Group
Mar 17, 2015
695
1,857
263

splawik21

Grizzled Member
Dash Core Team
Moderator
Foundation Member
Dash Support Group
Apr 8, 2014
1,923
1,280
1,283
Did some testing today, the IX sent from dash-core arrives instantly on the android wallet but when sending the amount received after 5/6 + 1 pow confirmation the wallet says there are insufficient funds to go through.
After some more confirmations when sending IX via dash android wallet works OK.
Scanning the QR work awesome, other features as well, so far ;)
Will do some more tests and will send back a feedback.

edit: just noticed that after sending the IX or normal tx from andorid wallet when I want to send another IX I need to wait 7 pow confirmations before the wallet gives me the permission to send the IX again.
Sending normal tx goes with no problems.

btw. I like the changing size of DASH on the top when you move up or down extra, and the red line as well :)
 
Last edited:
  • Like
Reactions: tungfa

HashEngineering

Active Member
May 3, 2014
319
374
133
hashengineeringsolutions.com
The behavior you describe is by design. All coins that are sent with IX on the android require 6 confirmations. This is something that was added when I was working with Solarminer with his Dash Drink system.

Should it be this way? to wait for 6 confirmations before sending with IX? I need to look back in my notes to see why we did this.
 

splawik21

Grizzled Member
Dash Core Team
Moderator
Foundation Member
Dash Support Group
Apr 8, 2014
1,923
1,280
1,283
The funds sent from my qt wallet into the android wallet (normal tx) can be spent with IX after 7th block (after 6 conf I could`t send them with IX) if I wanted to send them without IX it worked.
 

HashEngineering

Active Member
May 3, 2014
319
374
133
hashengineeringsolutions.com
The funds sent from my qt wallet into the android wallet (normal tx) can be spent with IX after 7th block (after 6 conf I could`t send them with IX) if I wanted to send them without IX it worked.
Yes, this behavior is by design, though I just looked at the code and it was requiring the number of confirmations to be greater than 6 (which means 7) instead of greater than or equal to 6 (which means 6). I updated the code, but that won't be in the newest beta.

https://github.com/HashEngineering/darkcoin-wallet/releases/tag/v4.40.12j.rix - newest beta