Android Wallet v4

HashEngineering

Active Member
May 3, 2014
319
374
133
hashengineeringsolutions.com
Hash Engineering Solutions continues to work on a standalone Android Wallet that is forked from the Bitcoin Wallet by Andreas Schildbach (now version 4.x).

This new version will have these features:
1. Sweep Paper Wallet
2. PIN Code support
3. HD Wallet / seed value

This version requires Android 4.0 and above.

Future Possible Features:
3. DarkSend - We think this feature could be added to the Android Wallet. We intend to work on this.
4. InstantX - We don't know if the Android Wallet will be compatible with this feature. Looks like a lot of coding will be required.

Status:

Wallet currently syncs to the current block. Some users are reporting missing transactions that are fixable by a blockchain reset.

Source code:
https://github.com/HashEngineering/darkcoinj (Darkcoin Java Library) - branch release-12
https://github.com/HashEngineering/darkcoin-wallet (Darkcoin Wallet) - branch release-4
Change Log:
v4.0-beta - first publish.

Downloads for Main Net / Beta Program for version 4.x
https://github.com/HashEngineering/darkcoin-wallet/releases/tag/v4.0-beta
https://play.google.com/apps/testing/hashengineering.darkcoin.wallet (beta program)
 

tungfa

Administrator
Dash Core Team
Moderator
Foundation Member
Masternode Owner/Operator
Apr 9, 2014
8,906
6,729
1,283
I wish I had an Android phone !
;)
Passed the message out to my android people
tx for the update
 

tungfa

Administrator
Dash Core Team
Moderator
Foundation Member
Masternode Owner/Operator
Apr 9, 2014
8,906
6,729
1,283
I am also translating the darksend, masternode and instantx sections of the C++ code into Java. Hopefully this will result in some workable code that can be used to add Darkcoin specific features to the android app.
any iOS Apps in the pipeline ?
 

tungfa

Administrator
Dash Core Team
Moderator
Foundation Member
Masternode Owner/Operator
Apr 9, 2014
8,906
6,729
1,283
Unfortunately, No, that would require significant hardware costs and a learning curve. Although, there is a Bitcoin Wallet for iOS, so it wouldn't be all that hard, maybe.
Tx for your reply
appreciate it !

Yes iOS is one problem, and then the next is to get on and past the iTunes store i imagine.
I think so too , as BTC Wallet (iOS) is available it should be not that hard to copy/ convert that.

Tx for now
fingers crossed for us iPhone people for the future
 

HashEngineering

Active Member
May 3, 2014
319
374
133
hashengineeringsolutions.com
I will be performing some tests soon. DarkSend and InstantX to the android Wallet (in other words in the cases of receiving).

My guess is that InstantX will not be instant (but require 6 confirmations).

My other guess is that DarkSend will work.

At this time, of course, the Android Wallet does not support either DarkSend or InstantX for sending DRK.
 

HashEngineering

Active Member
May 3, 2014
319
374
133
hashengineeringsolutions.com
Here are the test results:

Regular Transaction. App was notified after transaction was sent and the transaction confirmed after 6 blocks were solved.
InstantX Transaction. App was not notified after transaction was sent, but rather after the transaction got 1 confirmation and the transaction was fully confirmed after 6 blocks were solved.
DarkSend Transaction. Not tested.

My first task will be to receive initial notification of the InstantX transaction, followed by making it spendable after enough MasterNodes have locked it.
 
  • Like
Reactions: tungfa and vertoe

HashEngineering

Active Member
May 3, 2014
319
374
133
hashengineeringsolutions.com
More Test Results for Transaction Sent to the Android App from the Desktop Client:
Dark Send Transaction: The app was notified immediately. Then it took 6 confirmations to become spendable.

The next test will be to send an InstantX transaction from the App (which is a new feature currently being added).
 
  • Like
Reactions: tungfa

tungfa

Administrator
Dash Core Team
Moderator
Foundation Member
Masternode Owner/Operator
Apr 9, 2014
8,906
6,729
1,283
More Test Results for Transaction Sent to the Android App from the Desktop Client:
Dark Send Transaction: The app was notified immediately. Then it took 6 confirmations to become spendable.

The next test will be to send an InstantX transaction from the App (which is a new feature currently being added).
that is great news
I had a bunch of requests for an
android wallet + questions regarding IX and DS

how is your DS in the moment (if even) ?!

Edit:
wouldn't it be an option to
anonymize coins on PC Wallet
DS them to Android wallet
Android wallet has a DS section (only for anonymize do coins)
and send out from there
keeping Normal / DS seperate should help i imagine

any thoughts ?
tx
 
Last edited by a moderator:

HashEngineering

Active Member
May 3, 2014
319
374
133
hashengineeringsolutions.com
There is no DarkSend support in the app. I am still learning how it works in the DarkCoin Core client software. Theoretically, it could be implemented, but much work is required.

Regarding InstantX, I sent an instantX transaction from the app. It was received by the desktop client (Darkcoin Core) and was recognized as an instantx transaction. However, the app treated as a regular transaction and required 6 transactions to confirm. This is not bad, I suppose, because the receiver could spend the coins right away.
 
  • Like
Reactions: tungfa

tungfa

Administrator
Dash Core Team
Moderator
Foundation Member
Masternode Owner/Operator
Apr 9, 2014
8,906
6,729
1,283
Great
tx for the update
i will pass that along
 

souptacular

Well-known Member
Foundation Member
Jun 7, 2014
62
73
158
TX
www.hudsonjameson.com
Appreciate you guys taking to the time to make this wallet. You make apps to support many different coins and I'm happy you chose DRK as one of the ones you keep up with.
 

HashEngineering

Active Member
May 3, 2014
319
374
133
hashengineeringsolutions.com
It looks like some of the more advanced features of Darkcoin won't be available in an SPV implementation. I am still working on InstantX, but I won't be able to program all of its security checks since the Wallet app doesn't store the entire blockchain on the device.
 
  • Like
Reactions: tungfa

HashEngineering

Active Member
May 3, 2014
319
374
133
hashengineeringsolutions.com
Today's testing was on the TestNet as I think I have written/translated enough InstantX code to get it working.

Strangely on the testnet, my app wasn't receiving any txlreq or txlvote messages. My DarkCoin Core client was running in TestNet mode and it reported Zero masternodes, which may help explain that. More code was written to integrate InstantX into bitcoinj fork that is being used.

The next hard step will be to allow the coins sent by InstantX to be spent, after we can confirm that the transaction is locked. Currently the app waits for 6 confirmations to spend, and I must add more code to allow an instantX transaction that is locked to be spent, even though the transaction has 0 confirmations!
 

HashEngineering

Active Member
May 3, 2014
319
374
133
hashengineeringsolutions.com
More bugs were fixed in the my code after I figured out how to respond to "inv" messages and send a "getdata" message to get "txlreq" and "txlvote" message.

I am leaving out some of the verifications that the core client enforces with "txlvote" - which relates to masternodes - I think I can add it back later.

I hope this feature (InstantX) proves useful when completed.
 
Last edited by a moderator:

HashEngineering

Active Member
May 3, 2014
319
374
133
hashengineeringsolutions.com
More progress made today. It appears that an InstantX transaction was successfully sent from the app and the app was able to track its progress by counting Consensus Votes from the master nodes.

I was planning to do further testing, but it appears that the testnet stopped at block 16381 according to the app and my desktop client having this error:
"Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues." Hopefully I didn't break it with my InstantX transactions.

More work was done to add master node support, at least to get a list of masternodes, which can be used to verify the concensus votes. Unfortunately, the app cannot do all the checks to validate the masternodes, but we could leave those checks out and get more of the checks for InstantX working.
 
  • Like
Reactions: UdjinM6

vertoe

Three of Nine
Mar 28, 2014
2,573
1,652
1,283
Unimatrix Zero One
More progress made today. It appears that an InstantX transaction was successfully sent from the app and the app was able to track its progress by counting Consensus Votes from the master nodes.

I was planning to do further testing, but it appears that the testnet stopped at block 16381 according to the app and my desktop client having this error:
"Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues." Hopefully I didn't break it with my InstantX transactions.

More work was done to add master node support, at least to get a list of masternodes, which can be used to verify the concensus votes. Unfortunately, the app cannot do all the checks to validate the masternodes, but we could leave those checks out and get more of the checks for InstantX working.
Testnet is already on version v0.11.2.x - if you use github, checkout branch v0.11.2.x or see this thread for latest binaries: https://darkcointalk.org/threads/v0-11-2-x-testing.4202/
 

HashEngineering

Active Member
May 3, 2014
319
374
133
hashengineeringsolutions.com
Thanks, I updated my software. I am talking a short break from programming to collect my thoughts.

The current trouble is how locked transactions are saved to the wallet file. Unfortunately when they are loaded the app crashes due to the transactions being saved with invalid information. That will be the next bug to fix.
 

Marco Polo

New Member
May 25, 2015
3
2
3
Thanks, I updated my software. I am talking a short break from programming to collect my thoughts.

The current trouble is how locked transactions are saved to the wallet file. Unfortunately when they are loaded the app crashes due to the transactions being saved with invalid information. That will be the next bug to fix.
Please help my wallet will not open, it just continually crashes to black screen. This happened after using instantX and the transaction did not complete, although the app said it did, nothing on browse nor at the other address. Now I cant get into the app :(

I have sent you an email yesterday but thought I might try here as well.