Welcome to the Dash Forum!

Please sign up to discuss the most innovative cryptocurrency!

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

Discussion in 'Projects' started by HashEngineering, Mar 6, 2016.

?

Is this app a step in the right direction?

Poll closed Mar 13, 2016.
  1. Yes

    100.0%
  2. No

    0 vote(s)
    0.0%
  1. HashEngineering

    HashEngineering Active Member

    Joined:
    May 3, 2014
    Messages:
    319
    Likes Received:
    374
    Trophy Points:
    133
    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.​
     
    #1 HashEngineering, Mar 6, 2016
    Last edited: Oct 24, 2016
    • Like Like x 10
  2. TaoOfSatoshi

    TaoOfSatoshi Grizzled Member

    Joined:
    Jul 15, 2014
    Messages:
    2,741
    Likes Received:
    2,615
    Trophy Points:
    1,183
    Awesome. I'll help out as soon as I can, I love breaking (Ahem, testing) things...
     
    • Like Like x 1
  3. Sub-Ether

    Sub-Ether Well-known Member

    Joined:
    Mar 31, 2014
    Messages:
    1,516
    Likes Received:
    1,254
    Trophy Points:
    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 ;)
     
    #3 Sub-Ether, Mar 6, 2016
    Last edited by a moderator: Mar 8, 2016
    • Like Like x 2
  4. HashEngineering

    HashEngineering Active Member

    Joined:
    May 3, 2014
    Messages:
    319
    Likes Received:
    374
    Trophy Points:
    133
    If there is a crash, please send the Crash Report if you are able!

    Sub-Ether, thank you for your dedication in testing.
     
    • Like Like x 2
  5. tungfa

    tungfa Administrator
    Dash Core Team Foundation Member Masternode Owner/Operator Moderator

    Joined:
    Apr 9, 2014
    Messages:
    8,964
    Likes Received:
    6,737
    Trophy Points:
    1,283
    looks great !
    wish i had an android !
    tx hash + tomas !!
    :D
     
  6. Minotaur

    Minotaur Well-known Member
    Foundation Member

    Joined:
    Apr 7, 2014
    Messages:
    452
    Likes Received:
    1,079
    Trophy Points:
    263
    Great work guys, sent a little donation
    a706d890924023d6cb99b6f4d1e3326a89057b1a547df89e894575ba995eb749
     
    • Like Like x 3
  7. Sub-Ether

    Sub-Ether Well-known Member

    Joined:
    Mar 31, 2014
    Messages:
    1,516
    Likes Received:
    1,254
    Trophy Points:
    183
    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
     
  8. Sub-Ether

    Sub-Ether Well-known Member

    Joined:
    Mar 31, 2014
    Messages:
    1,516
    Likes Received:
    1,254
    Trophy Points:
    183
    You are doing fine work, Hashengineering, its almost bug free now :cool:
     
  9. Sub-Ether

    Sub-Ether Well-known Member

    Joined:
    Mar 31, 2014
    Messages:
    1,516
    Likes Received:
    1,254
    Trophy Points:
    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!)
     
  10. tomasz.ludek

    tomasz.ludek New Member
    Core Developer

    Joined:
    Nov 7, 2015
    Messages:
    32
    Likes Received:
    77
    Trophy Points:
    18
    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!
     
    #10 tomasz.ludek, Mar 8, 2016
    Last edited by a moderator: Mar 8, 2016
    • Like Like x 2
  11. HashEngineering

    HashEngineering Active Member

    Joined:
    May 3, 2014
    Messages:
    319
    Likes Received:
    374
    Trophy Points:
    133
    I just sent myself three crash reports, which will help the developers fix the crashing bugs.
     
  12. HashEngineering

    HashEngineering Active Member

    Joined:
    May 3, 2014
    Messages:
    319
    Likes Received:
    374
    Trophy Points:
    133
    In my testing, I am finding some functions don't work on Android 4.4.4, meaning that the app crashes while trying to report an issue or going to the other settings menus. However, on Android 6, there are no such crashes.

    Some bugs have been fixed, some errors have been fixed.
     
    • Like Like x 4
  13. HashEngineering

    HashEngineering Active Member

    Joined:
    May 3, 2014
    Messages:
    319
    Likes Received:
    374
    Trophy Points:
    133
    A new UI update is being tested along with other bug fixes. After it looks like it will be working, I will post it to the forum for further testing.
     
    • Like Like x 4
  14. HashEngineering

    HashEngineering Active Member

    Joined:
    May 3, 2014
    Messages:
    319
    Likes Received:
    374
    Trophy Points:
    133
    • Like Like x 6
  15. TheDashGuy

    TheDashGuy Well-known Member

    Joined:
    Dec 16, 2015
    Messages:
    1,232
    Likes Received:
    1,011
    Trophy Points:
    183
  16. HashEngineering

    HashEngineering Active Member

    Joined:
    May 3, 2014
    Messages:
    319
    Likes Received:
    374
    Trophy Points:
    133
    Screenshots are below:
    addressbook.png exchange.png peers.png request.png send.png sweep.png wallet-sync.png wallet-synced.png
     
    • Like Like x 5
  17. TaoOfSatoshi

    TaoOfSatoshi Grizzled Member

    Joined:
    Jul 15, 2014
    Messages:
    2,741
    Likes Received:
    2,615
    Trophy Points:
    1,183
  18. UdjinM6

    UdjinM6 Official Dash Dev
    Dash Core Team Moderator

    Joined:
    May 20, 2014
    Messages:
    3,637
    Likes Received:
    3,536
    Trophy Points:
    1,183
    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 Like x 1
  19. HashEngineering

    HashEngineering Active Member

    Joined:
    May 3, 2014
    Messages:
    319
    Likes Received:
    374
    Trophy Points:
    133
    Is there any other feedback from testing this new version?

    Any bugs? send the crash reports in the app.
     
    • Like Like x 1
  20. tungfa

    tungfa Administrator
    Dash Core Team Foundation Member Masternode Owner/Operator Moderator

    Joined:
    Apr 9, 2014
    Messages:
    8,964
    Likes Received:
    6,737
    Trophy Points:
    1,283
    I just shared this on some SM pages to get you more action and testers
     
  21. Solarminer

    Solarminer Well-known Member

    Joined:
    Apr 4, 2015
    Messages:
    762
    Likes Received:
    921
    Trophy Points:
    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.
     
  22. Solarminer

    Solarminer Well-known Member

    Joined:
    Apr 4, 2015
    Messages:
    762
    Likes Received:
    921
    Trophy Points:
    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 Like x 1
  23. HashEngineering

    HashEngineering Active Member

    Joined:
    May 3, 2014
    Messages:
    319
    Likes Received:
    374
    Trophy Points:
    133
    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.
     
  24. Solarminer

    Solarminer Well-known Member

    Joined:
    Apr 4, 2015
    Messages:
    762
    Likes Received:
    921
    Trophy Points:
    163
    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.
     
  25. kot

    kot Administrator
    Core Developer Dash Core Team Foundation Member Dash Support Group Masternode Owner/Operator Moderator

    Joined:
    Mar 17, 2015
    Messages:
    687
    Likes Received:
    1,847
    Trophy Points:
    263
    • Like Like x 2
  26. splawik21

    splawik21 Grizzled Member
    Dash Core Team Foundation Member Dash Support Group Moderator

    Joined:
    Apr 8, 2014
    Messages:
    1,916
    Likes Received:
    1,273
    Trophy Points:
    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 :)
     
    #26 splawik21, May 8, 2016
    Last edited: May 9, 2016
    • Like Like x 1
  27. HashEngineering

    HashEngineering Active Member

    Joined:
    May 3, 2014
    Messages:
    319
    Likes Received:
    374
    Trophy Points:
    133
    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.
     
  28. splawik21

    splawik21 Grizzled Member
    Dash Core Team Foundation Member Dash Support Group Moderator

    Joined:
    Apr 8, 2014
    Messages:
    1,916
    Likes Received:
    1,273
    Trophy Points:
    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.
     
  29. HashEngineering

    HashEngineering Active Member

    Joined:
    May 3, 2014
    Messages:
    319
    Likes Received:
    374
    Trophy Points:
    133
    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
     
  30. HashEngineering

    HashEngineering Active Member

    Joined:
    May 3, 2014
    Messages:
    319
    Likes Received:
    374
    Trophy Points:
    133
    A new beta test version is ready to test. Download links are in the Original Post.
     
    • Like Like x 3
    • Winner Winner x 1
    • Useful Useful x 1