[Project] Android Mobile Wallet

Official topic for the discussion of an Android Mobile Wallet. There is already a significant 6,000+ PPC bounty on Peer4Commit. We can use this topic to more directly discuss the organization the mobile wallet, of if another web based alternative could be made.

Would be great to hear from the project owner where this is at and what is needed to progress this. We might be able to help with whatever is the problem to progress this. One can solve a lot of problems with 6000 PPC.

If there are complicated issues, it can be worth to focus on the webwallet as that will also work on Android, iPhones, Windows Phones, Tizen, etc.

The key is to implement MyceliumWalletApi interface.
Mycelium backend server code isn’t(?) released, I’m quite sure that Bits of Proof supernode server can be used as Mycelium backend but… it’s huge and definitely subject for separate project!
I think that MyceliumWalletApi can be, at least partially, implemented with a help from (great services btw) bkchain.org and blockr.io, not voluntary ofc - thus there is a need for service funding model: api keys and pay per 1000 requests?

[quote=“kac-, post:3, topic:2104”]The key is to implement MyceliumWalletApi interface.
Mycelium backend server code isn’t(?) released, I’m quite sure that Bits of Proof supernode server can be used as Mycelium backend but… it’s huge and definitely subject for separate project!
I think that MyceliumWalletApi can be, at least partially, implemented with a help from (great services btw) bkchain.org and blockr.io, not voluntary ofc - thus there is a need for service funding model: api keys and pay per 1000 requests?[/quote]I think we could work with bkchain to make that happen.

i’m interested in an android wallet that can handle both btc and ppc - do any exist that can do both??

Unfortunately not as an Android app. There is a webwallet which is probably second best to an app. You may want to check out at holytransaction.com. This is not an endorsement, just an option, you may wish to explore. In general I would only trust relatively small amounts to webwallets and mobile apps.

Bkchain.org also has an experimental webwallet. Same precautions apply and possibly even stronger as this experimental. I’ve personally not encountered any issues to date though.

It could be great if an android wallet could be made.
But in order to work as minting node is necessary to have downloaded the full
blockchain?
For mobiles and tablets the storage is an issue thus i imagine that the user may select how much storage can give to the wallet
in order to keep a partial blockchain. But then this wallet can be a partial (not full node), is this acceptable?

I’d be interested in contributing to an Android wallet as I have some experience in android programming, but the current project forked off Mycelium seems a bit difficult since it’s still in beta and has a closed source backend… Working off the normal Bitcoin android wallet would probably be easier…

maybe some can run peerbox

I have managed to rewrite schildbach’s bitcoin-wallet for blackcoin
which is a derivate from peercoin. So I can easilly reconfigure it for peercoin

I saw an android wallet on peer4commit.com, do you think I can claim something…?
not for me but my girlfriend is gonna kill me for not spending time with her but with this
;D

I don’t want anything before… I’ll send an apk if you want… share code… no worries…tell how I did it
but you know we have to keep peaceful families.

you can find me in reddit under the same nickname…

@janko33
Contact FuzzyBear, he is an admin of android-peercoinwallet

You can:

  • checkout https://github.com/FuzzyBearBTC/android-peercoinwallet
  • copy your fork to android-peercoinwallet/schildbach
  • make checkout in android-peercoinwallet/schildbach to blackcoin head
  • add everything(except .git) from android-peercoinwallet/schildbach to android-peercoinwallet/.git index and commit as blackcoin
  • make checkout in android-peercoinwallet/schildbach your work head
  • add changes from android-peercoinwallet/schildbach to android-peercoinwallet/.git index and commit as your work
  • push android-peercoinwallet/ to origin
  • create pull request

This is an interesting development. Hope FB picks this up, he seems to be busy lately.
I think it is worth a nice reward.

Thanks kac- for posting instructions for janko33. Very helpful to keep things moving.

Alright, I just got done reading this thread on Github: https://github.com/FuzzyBearBTC/android-peercoinwallet/issues/13

If I understand this correctly, we’re currently waiting on Andreas Petersson for something right? If so, his last communication about it was on April 9th. Has Fuzzy Bear been in contact with him about it? I’d just like to know what’s going on and if we can get an update on any progress made since then. How much longer will we have to wait before something can be done about this?

[quote=“Cybnate, post:12, topic:2104”]This is an interesting development. Hope FB picks this up, he seems to be busy lately.
I think it is worth a nice reward.

Thanks kac- for posting instructions for janko33. Very helpful to keep things moving.[/quote]
I’m bit skeptical about this, schildbach’s wallet use SPV - useless for us.
Running blackcoin wallet use native code I think, still nice achievement but I see Peerbox as far better solution in that matter - smaller, cheaper devices and far more secure.

@Sentinelrv
I’m also confused with this project goals - we’re waiting for A. Petersson to make something, something defined as:

  • modify client’s code for Peercoin? - rather trivial and done already
  • create backend server? host it? - PPC position in the queue in unknown, we won’t get backend’s code for sure
    Eventually, if/when PPC will be supported they will have business model unrelated to peer4commit.

What I suggest:

  • ask A. Petersson to create and submit detailed documentation on Mycelium Wallet API(what is in calls/returns, how often method is used) and pay him via peer4commit
  • make bkchaind part of this project (subfolder?) and ask bkchain if he’d like to work on backend - he is talented and experienced enough (explorer, wallet) to handle this task

I don’t use SPV it’s useless for blackcoin too.
I had to rewrite bitcoinj, so i can commit to peercoin mycelium github too…
and I am not the author of the running Blackcoin android.

Mine will be released in comming weeks, I have full time job,
so I mostly work on weekends and Fridays…

I have tested it on android emulator and it runs
https://i.imgur.com/W2TgoNG.png

@janko33
We have to ask FuzzyBear if he can reward pull requests on other than master branch, if yes you can simply delete all mycelium files, merge --squash schildbach/bitcoin-wallet and add your work (like here https://github.com/kac-/android-peercoinwallet/commits/schildbach).
It would be nice to keep bitcoinj modifications separate so I think you should create separate github repo and reference it as dependency in your android-peercoinwallet pull request - I’m sure that FB will reward your commits accordingly to work you put in both repos.

Hi just catching up on this thread, will need to see code and what the original source code was forked from as yes this sounds different to the mycilium wallet but as it is an Android wallet for ppc I see no reason not to transfer some funds to a new peer4commit project from the mycilium repo funds, no word from a Peterson in a while now as he is busy and we not been chasing them. I would still like to see ppc integration with mycilium hence I would say do not overwrite that repo as may have development in future but its bad we are held back by other closed server code on this so I am willing to see what u have and make generous ppc donations if ur app works :slight_smile:

Going back to pc so I can review this further but please feel free to pm me details repo etc so I don’t miss anything, very excited to see a ppc wallet on android phone!! So Ty for ur hard work and tell the gf Fuzzybear is interested and on the case, its important to reward good work like this as yes families all too often come second in the cryptocurrencies world!!
Fuzzybear

Sent from my HTC Desire using Tapatalk 2

http://www.reddit.com/r/blackcoin/comments/2905fo/poor_joe_android_wallet/

Now I’ll reconfigure for peercoin and you will have apk too… than all sources

I need help from someone good in source of peercoin.

https://github.com/ppcoin/ppcoin/blob/master/src/main.cpp#L1999

if (!CheckProofOfStake(pblock->vtx[1], pblock->nBits, hashProofOfStake))

this CheckProofOfStake goes further to

https://github.com/ppcoin/ppcoin/blob/master/src/kernel.cpp#L409

How do I compute this:

txindex.pos.nTxPos - txindex.pos.nBlockPos whis is txPrev.offset(offset of txPrev inside block)

I cannot read from disk. How do I compute this from the Block? I have found this

unsigned int nTxPos = pindex->nBlockPos + ::GetSerializeSize(CBlock(), SER_DISK, CLIENT_VERSION) - (2 * GetSizeOfCompactSize(0)) + GetSizeOfCompactSize(vtx.size());

but I don’t know if this can help me maybe someone can explain

I have found out that timestamp is at offset 4, difficulty is at offset 8, nonce is at offset 12 but txPrev.offset should be an relative number not absolute.

If you don’t store txs in blocks you have to store this offset in index.
Don’t compute, update it while parsing block and its transactions.