Bible Pay

Archives => Archived Proposals => Topic started by: MIP on March 29, 2018, 06:41:07 PM

Title: BiblePay mobile wallet (Android & iOS)
Post by: MIP on March 29, 2018, 06:41:07 PM
Hello all

I have been taking a deep look into Breadwallet app as a starting point for a Biblepay mobile wallet.

My conclusion is that it is possible to have it ported in a reasonable time, but it's not going to be trivial as changing some chainparams for others and get it rolling.

At first I wanted to "extend" the original app to support BTC, BCH (current Breadwallet version) and then add BBP at top.
But this is not possible now because the Breadwallet SPV client in C makes some hardwired assumptions to connect to a pure Bitcoin network.
The C library would require another abstraction layer that is not present and it's out of the scope at the moment.

The good news is that, even if only taylored for BBP, the library is used by both the Android and iOS version, so this makes things a bit easier once it's working.

SCOPE OF WORK

- Biblepay Mobile Wallet (Android and iOS) will be a fork of the respective BreadWallet apps.
Please bear in mind that it's a wallet based on a 12-word BIP39 Multibit HD, PIN protected brain wallet with a "safety-first" approach.
This means that it will not be possible to export its private keys, and it will not be able to import other wallets priv keys (although it will be able to sweep a priv key paper wallet balance)
Please read about BreadWallet app features to avoid confusions and misunderstandings.

https://www.cryptocompare.com/wallets/bread-wallet/

For me this is the absolutely right approach for a secure mobile online wallet, and changing this behavior for a more insecure one is out of the discussion.

- Wallet will be able to do exactly the same you can do with the original BreadWallet BTC/BCH wallet, feature wise, except buying and selling currency for fiat (external services are required for that).
- Wallet will NOT implement InstantSend or other Masternode-related protocol features at this stage.
- We will start with Android version first, and later on with the iOS one.

TASK BREAKDOWN

Android
- Fork breadwallet android and core submodule and setup dev environment (2h).
- Create BiblepayWallet java and C layer (chain params and basic behavior) (4h)
- Remove BTC/BCH wallet, change hardwired stuff (address prefixes, max difficulty, pow retarget interval...) (16h)
- Implement BBP Pow verification, block validation (20h).
- Other integrations (price, fee-per-kb?...) (8h)
- Basic testing (send/receive/sweep) (8h).
- Test camera reading addresses (4h).
- Publish app in Google Play (4h)

iOS
- Fork breadwallet iOS and setup dev environment (2h).
- Create XCode developer account and prepare a Macincloud virtual machine. (2h)
- Create BiblepayWallet iOS layer (chain params and basic behavior) (8h)
- Basic testing (send/receive/sweep) (8h).
- Test camera reading addresses (2h).
- Apple Dev paperwork, submitting app for approval, publish in App Store... (6h)

Total Budget:
66h Android + Breadwallet-Core @40€/h = 2640€
28h iOS     x 40€/h = 1120€
24€ Google Play license lic
44€ Macincloud VM (2 months)
99€ iOS developer license
= 3927€ = 0,704 BTC (@ 5575€) = 2348000 BBP (@30 sat)

I've been working hard for a week (I'm on holidays LoL) and here you are some teaser screenshots.

Home screen after creating the brain wallet:
(http://forum.biblepay.org/index.php?action=dlattach;topic=148.0;attach=84;image)

Price showing is BTC a couple of days ago... we will have to create our own price API (perhaps taken from pool.biblepay.org)

Some activity log from the SPV client chatting with the peers...
(http://forum.biblepay.org/index.php?action=dlattach;topic=148.0;attach=86;image)

Also, say "hello" to the first transaction received on our mobile wallet!
http://explorer.biblepay.org:3001/tx/a8af5365741aee8c7d8ed3d7b3c3c332c7eba5701e0c06a742780495e809f107

Breadwallet address:
http://explorer.biblepay.org:3001/address/BQWEt4Fj4gbn3jAqU5zueNV9jH8EvZDGj6

(http://forum.biblepay.org/index.php?action=dlattach;topic=148.0;attach=88;image)

I will post more info as I make more progress. Please don't hesitate to ask whatever you may want.
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: T-Mike on March 29, 2018, 07:05:16 PM
Cool man, keep up the good work.
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: Cryptoshot on March 30, 2018, 02:43:39 AM
This is great, please keep the effort rolling, it will be more than necessary for this Android version wallet to be in use.
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: jaapgvk on March 30, 2018, 05:20:00 AM
I'm so excited about this!  :D :D
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: Rob Andrews on March 30, 2018, 09:48:50 AM
This is really exciting, and extremely worth it.

Thats probably fine if we dont have instantsend, even for a couple years.
I assume even though the wallet keys are stored in a proprietary format, you can send BBP from your pc to your phone and from phone to PC and empty wallet out that way correct?  (sounds like a dumb question lol).  So if I had an email on the android, could I copy the bbp address to the clipboard and paste it into the breadwallet to send BBP to someone random? 

On this item:
 Create BiblepayWallet java and C layer (chain params and basic behavior)

I was wondering, do we need to modify the core (the biblepay-qt) client at all, or what is the c layer you are modifying is this on the breadwallet side or on the core side?  Is breadwallet entirely java based?  If on the corewallet side, have you already forked biblepay and modified your version locally to handle the call, and that is how you got it running?

On block storage, how does the wallet on the android store the blocks?

Thanks a million for your efforts, they are astounding!



Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: MIP on March 30, 2018, 12:16:16 PM
I assume even though the wallet keys are stored in a proprietary format, you can send BBP from your pc to your phone and from phone to PC and empty wallet out that way correct?  (sounds like a dumb question lol).  So if I had an email on the android, could I copy the bbp address to the clipboard and paste it into the breadwallet to send BBP to someone random? 

Sure you can. Take a look at the interface, it's pretty cool!

(http://forum.biblepay.org/index.php?action=dlattach;topic=148.0;attach=90;image)

Then you can click on the amount and a num pad shows.

(http://forum.biblepay.org/index.php?action=dlattach;topic=148.0;attach=92;image)

What you can't do is export the mobile wallet private keys and take them elsewhere, nor import external private keys (although you can sweep them into the mobile wallet with QR scan)

On this item:
 Create BiblepayWallet java and C layer (chain params and basic behavior)

I was wondering, do we need to modify the core (the biblepay-qt) client at all, or what is the c layer you are modifying is this on the breadwallet side or on the core side?  Is breadwallet entirely java based?  If on the corewallet side, have you already forked biblepay and modified your version locally to handle the call, and that is how you got it running?

The C layer I mention is the SPV thin client from breadwallet. It doesn't use code from BiblePay at all (except hash functions, of course), so it acts as a whole independent BiblePay client.

https://github.com/breadwallet/breadwallet-core.

This breadwallet-core C library is then imported as Java classes using a JNI layer, and then it can be used from Android Studio. The GUI stuff, wallet management, block database,  etc. uses pure Java in Android version.
https://github.com/breadwallet/breadwallet-android

I guess that a similar setup is then applied for the iOS version, I didn't see it yet but it sounds logical. This way, the "hard" part which is the SPV client, is shared between projects.

On block storage, how does the wallet on the android store the blocks?

It uses a SQLLite database, via Java client.

On the Android x86 Emulator, with a crappy country DSL (1-10 Mbps) it takes about 1 minute to download all BBP chain headers. Very fast.

Thanks a million for your efforts, they are astounding!

The more I progress the cooler it seems.

I step upon some subtle protocol differences that are the ones that block me for a few hours, but with a bit of hex debugging I advance step by step.

Now I'm stuck sending BBP, mempool is rejecting the transaction with "error parsing message". I'll get some coffee now...
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: T-Mike on March 30, 2018, 02:33:16 PM
Quick question, did you submit your proposal through the pool? I did mine manually and it's not showing up.
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: MIP on March 30, 2018, 02:54:20 PM
Quick question, did you submit your proposal through the pool? I did mine manually and it's not showing up.

I did about 10 hours ago, and it's showing in the pool. I think it's also in the chain already.
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: T-Mike on March 30, 2018, 04:16:19 PM
I did about 10 hours ago, and it's showing in the pool. I think it's also in the chain already.

OK thank. I made mine with cli commands and it looks like it worked and I even voted on it but it's not showing up in the pool.
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: jaapgvk on March 30, 2018, 04:33:06 PM
OK thank. I made mine with cli commands and it looks like it worked and I even voted on it but it's not showing up in the pool.

Yeah, I voted on MIP's, but I still can't see yours... Don't know if it has anything to do with the cli-commands, I only know how to do it in the pool.

Did you also do it with cli-commands the previous time?
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: T-Mike on March 30, 2018, 04:42:30 PM
Yeah, I voted on MIP's, but I still can't see yours... Don't know if it has anything to do with the cli-commands, I only know how to do it in the pool.

Did you also do it with cli-commands the previous time?

No, last time Togo submitted it for me because I don't have BBP in the pool.
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: Rob Andrews on March 31, 2018, 10:19:49 AM
No, last time Togo submitted it for me because I don't have BBP in the pool.

It should have been submitted through the pool UI, not from the cli commands.  As non-devs have no idea what timestamp to use or what timestamps fall between the trigger time, and it also makes the proposal miss the necessary hashes the pool needs to create the budget.

Please enter all proposals through the pool.

Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: T-Mike on March 31, 2018, 11:58:07 AM
It should have been submitted through the pool UI, not from the cli commands.  As non-devs have no idea what timestamp to use or what timestamps fall between the trigger time, and it also makes the proposal miss the necessary hashes the pool needs to create the budget.

Please enter all proposals through the pool.

Understood but is there a way to send BBP to the pool? I don't have enough BBP on the pool.
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: MIP on March 31, 2018, 12:07:57 PM
Understood but is there a way to send BBP to the pool? I don't have enough BBP on the pool.

I asked Rob via PM and he helped me quicky.
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: MIP on April 02, 2018, 06:43:54 AM
Today is a great day!, we sent the first BBPs using a real mobile device (to be precise, my daughter's android tablet)

https://explorer.biblepay-central.org/tx/9cf80040ab44972c8968207a08d5a8573719779da1e2f1ce48ae66f3557ea8da

(http://forum.biblepay.org/index.php?action=dlattach;topic=148.0;attach=98;image)

I was stuck for a couple of days because Breadwallet was not storing the extra message data (not present in Bitcoin original protocol). But finally after some hard debugging we made it!!

I think that the most difficult part is done. I will go on with the QR address scan and other cosmetic changes.
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: Cryptoshot on April 02, 2018, 07:41:30 AM
This is a great news, our eyes on the watch towards the very day you will say, you are done with everything. Thank you for the good job you are doing.
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: MIP on April 02, 2018, 08:02:52 AM
BTW I would like to get some price quote from biblepay.org

Rob, would it be possible to extract BBP price (in BTC)  obtained from a web service url?
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: T-Mike on April 02, 2018, 09:35:02 AM
BTW I would like to get some price quote from biblepay.org

Rob, would it be possible to extract BBP price (in BTC)  obtained from a web service url?

Wouldn't you want to do that with the exchange API?
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: MIP on April 02, 2018, 09:44:11 AM
Wouldn't you want to do that with the exchange API?

True! I found these ones:
https://www.southxchange.com/api/price/BBP/BTC
https://c-cex.com/t/bbp-btc.json

I'll do an average of buy-sell spread.
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: T-Mike on April 02, 2018, 09:47:54 AM
True! I found this one:
https://www.southxchange.com/api/price/BBP/BTC

I couldn't find the same in C-CEX. Do you know any?

Yeah it has it also, Iquidus explorer has code built in to interface with C-CEX you might want to look at. You will also need an account for the API key.

https://github.com/iquidus/explorer
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: MIP on April 03, 2018, 09:00:22 AM
I'm cheking that QR reader works fine.

However sweeping a private key balance depends on an external block explorer API to obtain the external wallet inputs (as the SPV stores only the transactions incumbent to that wallet).

For our mobile app I will use https://explorer.biblepay-central.org APi. However if this is not present the feature will not work. Is there a will of long-term permanence for this explorer application? Who is maintaining it at the moment?

Edit: mmm I don't think Iquidus API has the feature to obtain an address utxo's yet, see these guys having exactly the same issue

https://github.com/iquidus/explorer/issues/37
https://github.com/iquidus/explorer/issues/95


Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: jaapgvk on April 03, 2018, 12:35:43 PM
I'm cheking that QR reader works fine.

However sweeping a private key balance depends on an external block explorer API to obtain the external wallet inputs (as the SPV stores only the transactions incumbent to that wallet).

For our mobile app I will use https://explorer.biblepay-central.org APi. However if this is not present the feature will not work. Is there a will of long-term permanence for this explorer application? Who is maintaining it at the moment?

Edit: mmm I don't think Iquidus API has the feature to obtain an address utxo's yet, see these guys having exactly the same issue

https://github.com/iquidus/explorer/issues/37
https://github.com/iquidus/explorer/issues/95

Lichtsucher is maintaining that explorer, and it's a long term commitment. I hope this information is still of any help...
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: MIP on April 04, 2018, 10:48:35 AM
Ok I have something to test for a good cause  8)

Application Beta APK (Android version 6.0 or higher)
https://www.dropbox.com/s/98mval1rdi9dlcg/app-bbp-release.apk?dl=1

You need to activate install from unknown sources (until we publish officially on Google Play):
https://developer.android.com/distribute/marketing-tools/alternative-distribution.html#unknown-sources

Import & sweep is not functional until we manage a way to obtain unspent outputs, whether from Block Explorer API (non-existing in Iquidus at the moment I'm afraid), or directly implementing GETUTXOS message in SPV client (which sounds like a big pain in the neck as it is not implemented in BreadWallet)

Anyway the rest of the features are already there. Take a look!

(http://i64.tinypic.com/2rp6zw8.png)

Screenshot from a Samsung A3, Spanish lang.


Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: T-Mike on April 04, 2018, 10:55:46 AM
Looks good! Too bad I don't have an Android phone on me right now.
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: jaapgvk on April 04, 2018, 11:37:24 AM
Awesome! Installed it and testing right now 8)

Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: Lichtsucher on April 04, 2018, 02:14:08 PM
Lichtsucher is maintaining that explorer, and it's a long term commitment. I hope this information is still of any help...

Yes, you are right :)

But: I think we should only use an explorer available on the official domain for external dependencies. Makes it easier to switch the hosting if something is happening :)
And if a specific software is required, we might better create a subdomain for that, like: iquidus.explorer.biblepay.org
This way, it is sure that an iquidus explorer is behind the domain and a switch of the software of the  the main explorer won't automatically breaks all other software (as long as the old one is available under the subdomain).

I learned the hard way that these things can happen ;D
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: MIP on April 05, 2018, 03:46:04 AM
I found a bug, when you send 2 or more amounts quickly, first one gets dispatched, but the next ones get rejected because they don't acount for the fees properly (REJECT_INSUFFICIENTFEE)

It must be some quick in Breadwallet calculations because I don't remember modifying that part... I will check it.

Another question; I think I will open a new thread in "Testnet" subforum (even if we are testing over prod lol) regarding all this mobile apps testing, and I will advertise in the Bitcointalk thread. I prefer to get more eyes on this.
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: SimonSays on April 05, 2018, 04:25:09 AM
Hi,

Thanks for great work.
Is there some special requirement in source code that it demands Android 6+.
There is still 36% of Android devices on version below 6. It would make sense to support versions 4.4+

Best regards,
Simon
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: MIP on April 05, 2018, 05:44:30 AM
Hi,

Thanks for great work.
Is there some special requirement in source code that it demands Android 6+.
There is still 36% of Android devices on version below 6. It would make sense to support versions 4.4+

Best regards,
Simon

There is a critical one: security. Until Android 6.0. was released, there was no in-built hardware-encrypted storage feature, required to "ironclad" your keys and make them impossible to access even if your device is root-compromised.

I could try to explain it further myself but I think Breadwallet creators can do it much better than me.

Please read full article
https://breadapp.com/blog/breadwallet-for-android/
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: jaapgvk on April 05, 2018, 02:10:11 PM

Another question; I think I will open a new thread in "Testnet" subforum (even if we are testing over prod lol) regarding all this mobile apps testing, and I will advertise in the Bitcointalk thread. I prefer to get more eyes on this.

I think this is a good idea :) We could use testers for this.

Sending funds to the wallet was no problem. But I can't seem to be able to send them back to my Windows wallet?

Of course, the numbers aren't correct right now, but there is also some difference, because 1.000.000 inside the wallet is 10.000 in my notification:

(https://preview.ibb.co/dagO1c/bbpwallet1.png)
(https://preview.ibb.co/eLPyZx/bbpwallet2.png)

Oh, and I really like the BBP sign! (The b with a cross in it.)
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: Cryptoshot on April 05, 2018, 02:34:03 PM
This is sounding quite so great, but I am still unable to open it after the download. What could actually account for that. Or is it the android  version I am using?
I think this app is going to be a real boost to our business as a community.
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: MIP on April 05, 2018, 04:12:56 PM
I think this is a good idea :) We could use testers for this.

Sending funds to the wallet was no problem. But I can't seem to be able to send them back to my Windows wallet?


Of course, the numbers aren't correct right now, but there is also some difference, because 1.000.000 inside the wallet is 10.000 in my notification:


The first one is the bug I found about not calculating fees and change properly. I'm working on it.

The second one I also found it today on my own. The "bits" unit is satoshis/100 so 1BBP = 1,000,000 b

However the conversion/ formatting function for notifications is being called twice so it divides 1,000,000 again by 100 = 10,000 which is what you see. I corrected this on development.

Thank you for reporting
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: MIP on April 05, 2018, 04:18:06 PM
This is sounding quite so great, but I am still unable to open it after the download. What could actually account for that. Or is it the android  version I am using?
I think this app is going to be a real boost to our business as a community.

First, check Android version. It should be 6.0+

Second, allow for unknown sources installs
https://developer.android.com/distribute/marketing-tools/alternative-distribution.html#unknown-sources

Third, go to google play and install "APK Installer" app. It will make the process easier. Trying to install apks from browser downloads could be tricky sometimes.
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: Cryptoshot on April 05, 2018, 04:52:34 PM
First, check Android version. It should be 6.0+

Second, allow for unknown sources installs
https://developer.android.com/distribute/marketing-tools/alternative-distribution.html#unknown-sources

Third, go to google play and install "APK Installer" app. It will make the process easier. Trying to install apks from browser downloads could be tricky sometimes.


Thank you for the support. I am now successful at installing it. I have even send some BBP coins from C-cex to the android wallet and it has reflected. However, it is the amount of BBP that is still not portraying the transacted amount. Thanks
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: MIP on April 06, 2018, 12:05:13 AM

Thank you for the support. I am now successful at installing it. I have even send some BBP coins from C-cex to the android wallet and it has reflected. However, it is the amount of BBP that is still not portraying the transacted amount. Thanks

Please send screenshot and it will be easier to identify where the issue is.

Remember there is a settings screen where you can  configura the units for BBP and fiat  currency. There you can choose between "bits" and BBP.

1 BBP = 1,000,000 bits
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: MIP on April 06, 2018, 08:11:07 AM
Ok I found the reason why sends were rejected by the network: low fee-per-kb amount as forecasted. But I wanted to be sure and took a strict approach to know it's 100% safe to change this.

So I'm releasing it in few minutes, create testing thread and announcing in Bitcointalk thread.
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: MIP on April 07, 2018, 03:11:36 AM
Rob or someone managing the website, Google play requires a privacy notice link in order to allow using the camera. I can "clone" the breadwallet one, but I would need to publish it in some page at biblepay.org.

Please tell me how to send you the page for publishing.

See https://breadapp.com/privacy-policy/

I created the featured image myself

(http://i64.tinypic.com/300wbk1.png)



Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: MIP on April 07, 2018, 08:14:05 AM
Finally GETUTXOS is not implemented in Biblepy Core peers (or it's disabled at the moment)  we will have to implement sweep feature using block explorer API. As Iquidus is not supporting it we will do it ourserves.

Litch could you please tell me where your Biblepay explorer source code is so I can make the changes?

Thank you!
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: inblue on April 07, 2018, 03:43:45 PM
True! I found these ones:
https://www.southxchange.com/api/price/BBP/BTC
https://c-cex.com/t/bbp-btc.json

I'll do an average of buy-sell spread.

CoinMarketCap does this automatically and the advantage is that they display a more accurate average price because they take into account the volume per exchange (https://coinmarketcap.com/currencies/biblepay/#markets)! So for example if exchange 1 has a 30 sat price at 99% of total volume, and exchange 2 has a 36 sat price at 1% of total volume, they will show 30 as average, not 33.

Here is their API for BBP: https://api.coinmarketcap.com/v1/ticker/biblepay/

Another advantage for you is that you will not have to update your code when new exchanges list BiblePay.
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: MIP on April 08, 2018, 01:24:59 AM
CoinMarketCap does this automatically and the advantage is that they display a more accurate average price because they take into account the volume per exchange (https://coinmarketcap.com/currencies/biblepay/#markets)! So for example if exchange 1 has a 30 sat price at 99% of total volume, and exchange 2 has a 36 sat price at 1% of total volume, they will show 30 as average, not 33.

Here is their API for BBP: https://api.coinmarketcap.com/v1/ticker/biblepay/

Another advantage for you is that you will not have to update your code when new exchanges list BiblePay.

Included in the new version. Thanks for the suggestion.
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: MIP on April 09, 2018, 02:38:36 AM
Wooohoooo the current Breadwallet iOS version is relying in a 5-month old branch of the SPV client library... not the one I modified for the Android compile.

This is gonna be more painful than expected   ;D.
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: jaapgvk on April 09, 2018, 05:19:21 AM
So you have to redo a lot of work for the iOS version? If you spend more hours than expected, just put in another proposal. You've got my vote :)
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: MIP on April 09, 2018, 08:02:17 AM
So you have to redo a lot of work for the iOS version? If you spend more hours than expected, just put in another proposal. You've got my vote :)

I will try to make a full research first, before making a decision, as the changes include a refactoring of the ChainParameters data.

To make things harder, Breadwallet iOS team has not commited changes to Github since January 4th (last version is build 202 and "real" version you get from App Store is build 250) so there is a good chance that all the legwork I have to do on iOS build 202, has already been implemented by them in the last 3 months somewhere between build 202 and 250.

It would be a bit silly to throw tens of hours at the effort and see one day that it's already there when an official commit is finally made. There is no way to know until that day comes.

I will contact with Breadwallet team and ask but I don't know how jealous they are, regarding their codebase.  Another option is waiting a couple weeks and see if they finally update the repository.

What I will likely need to turn into a proposal, is the implementation of a "getutxo" API in Iquidus Explorer. It will be absolutely necessary to have the "private key sweep" feature. Breadwallet has it's own, but it's hosted on their servers and it's Bitcoin only.

Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: MIP on April 10, 2018, 10:12:17 AM
Some quick updates:

I can't contact with Breadwallet devs asking about iOS repository updates. I'll wait a few days more.

Regarding Iquidus explorer, I will have to tweak the original node.js code so the transaction inputs can include the OutPoint info, which is required to implement a getUtxos API.
Of course after this update the explorer database will have to be rebuilt from scratch but well,.. that's progress.  8)
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: togoshigekata on April 10, 2018, 11:47:55 AM
MIP you are awesome for jumping on this!

Is the code open source?
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: MIP on April 10, 2018, 12:32:54 PM
MIP you are awesome for jumping on this!

Is the code open source?

Sure. But at the moment it's on dev branch. As soon as we go real I'll push it to master and probably we'll move it to biblepay github repository.
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: MIP on April 13, 2018, 09:07:40 AM
Say hello to the first transaction made by our BiblePay Android Wallet app, sweeping funds from a paper wallet QR private key.

https://explorer.biblepay-central.org/tx/d0825cf858eefea821508d00cf5c9887069418502f3a41ddd14a7bd25da0215d

Utxo info has been taken from my local block explorer webserver with the Iquidus upgrade patch.

(http://forum.biblepay.org/index.php?action=dlattach;topic=148.0;attach=129;image)

Almost there!
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: Cryptoshot on April 13, 2018, 09:37:25 AM
Say hello to the first transaction made by our BiblePay Android Wallet app, sweeping funds from a paper wallet QR private key.

https://explorer.biblepay-central.org/tx/d0825cf858eefea821508d00cf5c9887069418502f3a41ddd14a7bd25da0215d

Utxo info has been taken from my local block explorer webserver with the Iquidus upgrade patch.

(http://forum.biblepay.org/index.php?action=dlattach;topic=148.0;attach=129;image)

Almost there!



This is wonderful @MIP, I can't imagine how helpful and convenient this android wallet is to offer for Biblepay expansion especially to the non-computer population. Kudus!! For the hard work..
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: Rob Andrews on April 14, 2018, 11:12:55 AM
Amazing job MIP!  Thanks for your perseverance.

Now the unbanked cancer miner will be able to mine on android, receive rewards on the mobile, and spend on the mobile.

Now we just need to see how to bring down the hurdles for a person to buy groceries with the BBP if they have no PC and no BTC trading account.


EDIT:  On that subject, eventually, we should port our 'exec associate user pass' rpc command to the mobile!  LOL, not until after the iPhone works, weve got enough going on.

Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: MIP on April 14, 2018, 01:56:53 PM
About the iOS wallet, I had 2 possibilities:

- Use the same BRCore SPV client as in Android. This would mean "upgrading" all the iOS development to use this version.
- Use the last iOS version that compiles for me (build 156 from Nov 2017) and then adapt the older BRCore  version back to connect BiblePay network.

As I am more a "orange belt" in iOS development, and "black belt" in C/C++, I went with the second option.

First transaction sent from iOS!

https://explorer.biblepay-central.org/tx/e6c37db1ebd348db906175f7208b06f19a4b41027f1eff2c61632c62f1f26800

I loaded the same wallet as the android app, so in fact you can see my other test transactions made in the last days from the Android device.

(http://forum.biblepay.org/index.php?action=dlattach;topic=148.0;attach=132;image)

Here is the import transaction we made yesterday from a paper wallet in Android, as seen in the iPhone

(http://forum.biblepay.org/index.php?action=dlattach;topic=148.0;attach=134;image)

UI is not the "cutting-edge" version.., but feature-wise it's exactly the same app we have in Android.


Now I will proceed to change colors, icons, strings, etc.
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: MIP on May 03, 2018, 04:49:49 AM
LoL, I just finished the iOS version with the older interface and libs... and then the Bread developers push all the changes since January into the repo.

Good move, Mr. Murphy.  :o

Anyway I cannot test this latest version with the Mac VM because it depends on go-eth (the SPV client for Ethereum) and I cannot install this dependency in the VM, so we will stick to the original plan and launch the version we have, and then revamp it when we have the real Mac machine.

If all the chainparameter layers have been properly isolated, I could even make the wallet app BTC/BCH/ETH compatible (along with BBP) but I cannot make any promises until I see the code.

Edit: nope, they didn't isolate all chainparams properly so it would be a BBP+ETH wallet, at the most   :(
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: togoshigekata on May 11, 2018, 03:09:07 PM
This is amazing MIP! Thank you so much for building this!

This is my first time using a mobile wallet, its really nice!

Opened Google Play Store, Searched for BiblePay, Clicked Install,
Set up Wallet PIN, Entered Phone PIN, Wrote down 12 Seed words,
Sent Mobile Wallet some BiblePay coins from Desktop Wallet (manually entered in Receiving address on Desktop)
Created Receive coin request on Desktop Wallet and Scanned generated QR Code with Mobile Wallet and sent coins back to Desktop!

Feedback:
- I noticed wallet shows $0.00 per BBP, but does give me a correct dollar value for my total BBP coins
- I noticed wallet shows Ƀ symbol in front of amount of BBP coins

I posted about the Mobile Wallet on Twitter and Reddit:
https://twitter.com/BiblePay/status/990755646655037445
https://www.reddit.com/r/BiblePay/comments/8fvriu/mobile_wallet_for_android_released/

Let me know if there is anything else I can do to help!
Title: Re: BiblePay mobile wallet (Android & iOS)
Post by: MIP on May 12, 2018, 03:28:38 AM

- I noticed wallet shows $0.00 per BBP, but does give me a correct dollar value for my total BBP coins

This is because I left 2 decimal places in some screens, but a single BBP is under $0,01 at the moment. That's why I left 4 decimal places on the total wallet. I'll take a look


- I noticed wallet shows Ƀ symbol in front of amount of BBP coins

Yeah I left this as it is, because of the "B" in Biblepay. The original code expects a one letter symbol, so until we find ours we can borrow it from Bitcoin (a bit pretentious I know)

Let me know if there is anything else I can do to help!

Thank you for your feedback and support!