• Forum has been upgraded, all links, images, etc are as they were. Please see Official Announcements for more information

Android Wallet v4

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.
 
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!
 
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:
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.
 
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/
 
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.
 
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.
 
A few days ago I used the wallet a lot at a meetup to donate to people interested in Dash. They downloaded it and I sent them some coin. Everything went fine, but I had an issue that is not really caused by the wallet but would be nice to have a workaround:

I had sent all the funds to my mobile wallet in one transaction, so I had only one input. When I did the first payment all the input was locked until I got the change when the transaction was mined into a block. This is completely understandable, but I wonder if there could be a workaround... maybe several payees in the same tx? or the wallet letting create a second transaction (now it says that you don't have funds because the full input is locked), even if it is not broadcasted until the change is received? It is not something super important, but in setups like a meetup, sometimes you want to make several payments very close in time and now it is not that easy. In the meantime, next time I will probably send several smaller transactions to fill the wallet with more than one input.

Anyway, thanks for your work, everyone was quite impressed with how well the wallet worked.
 
Fernando, you have asked a great question (which shows much understanding of how the app works and how DASH works).

Implementing multiple payouts is not easy. What I will do is ask Andreas Schildbach if that is a feature he plans to add to the Bitcoin Wallet in the future. Maybe it will one day be added and I don't have to do much work. My expertise is not with the User Interface, but with the DASH/Bitcoin logic of nodes, messages and data that the user interface uses to interact with the DASH network. And I still have much work to do to finish IX and DS.
 
Fernando, you have asked a great question (which shows much understanding of how the app works and how DASH works).

Implementing multiple payouts is not easy. What I will do is ask Andreas Schildbach if that is a feature he plans to add to the Bitcoin Wallet in the future. Maybe it will one day be added and I don't have to do much work. My expertise is not with the User Interface, but with the DASH/Bitcoin logic of nodes, messages and data that the user interface uses to interact with the DASH network. And I still have much work to do to finish IX and DS.
Great, I agree that what you are working on is much more important that this :smile:
 
Back
Top