Bible Pay

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - MIP

Pages: [1]
1
Production Proposals / MacOS compiles - iOS version support machine
« on: May 03, 2018, 03:22:15 am »
We had some pending topics that converged at the same point: the lack of a platform and dev license for MacOS and iOS compiles.

I sort of made the iOS version (development is practically over) with a rented VM at MacinCloud, but I had almost constant hang-ups and connection cuts. It has been a real pain.

The problem with this VM (apart the mentioned usability ones) is that you can't install any special packages or SDKs out of the "regular" ones. This invalidates the VM for permanent compile platform and also for a long-term maintenance tool for the iOS version.

Also, I could not test the phone's camera and QR scanning on the XCode simulator for obvious reasons.

As a result, I proposed Rob to purchase a second hand Mac to overcome all this limitations and start working on MacOS compiles and better iOS version maintenance.

SCOPE:

- Purchase a 2nd hand Mac with at least i5 proc and 8GB
- Install development license
- Prepare MacOS signed builds.
- Test iOS with real hardware and then launch beta version.

BUDGET

- 2nd hand Mac (770)
- Developer license for 1 year: (99) --> already budgeted in Mobile app proposal = 0
- Prepare and support MacOS builds: voluntary = 0
- Test and launch iOS app: already budgeted, 0

After 1 year, only new Apple developer licenses renewal (99) would be proposed.

770 (BTC @ 7700) = 0,1 BTC (BBP @ 37sat) = 270270 BBP

I had thought to distribute this in a year's amortization, but I would require to create a proposal each month, and actually, after all the expenses I have for my daughter's knee problem, it would be a financial effort I can't assume.

Of course any other use for this Mac that you think we can implement to support Biblepay would be welcomed.

Proposal has been added to gobernance. Kindly consider your masternode vote. If possitive:

Code: [Select]
gobject vote-many 3a89aed047f627edee22853b8a7b3b3fbb5b6298d42ff78a495c4e38c0107fff funding yes
Thank you!

2
We need Iquidus explorer to support GETUTXO in its API.

It's required to support the paper wallet sweep in mobile versions. I expected Breadwallet to support this via some SPV functionality but it was not the case.

SCOPE OF WORK

- Starting from current Iquidus Explorer master version, implement GETUTXO in explorer API

http://explorer.biblepay-central.org/ext/getutxos/{address}

Output format will be recognized by Biblepay mobile wallet.
(see sample in https://api.breadwallet.com/q/addr/3PauLgPVQu2r6QnvWvK1GDGXdeB3ouCdqw/utxo?currency=BTC)


TASK BREAKDOWN

- Fork Iquidus explorer project, install biblepaycore, install explorer on a dev ubuntu computer (2h)
- Change database load to store outpoint hash and index in transaction inputs (2h)
- Implement check_is_unspent as a query to know if an output has already been used (1h)
- Implement API route /ext/getutxos (2h)
- Explorer full load tests (2h)

Total Budget:
9h dev&test @40/h = 360
= 0,064285 BTC (@ 5600) = 173745 BBP (@37 sat)

Work is very advanced, and it works pretty fast. It will be a nice addition that few coin explorers have.

All code will be open sourced.

I will need Lichtsucher's help to update biblepay-central explorer. I don't know if you have a test environment before we go live.
A full reindex of the database will be required so expect a few hours downtime.

3
BiblePay - TestNet Testing Thread / Android mobile wallet - TEST
« on: April 06, 2018, 09:02:18 am »
ANDROID MOBILE WALLET - BETA TESTING

Application Beta APK (Android version 6.0 or higher required)
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

If you experience difficulties installing it after download and allowing from unknown sources, please use "APK installer" app.
https://play.google.com/store/apps/details?id=com.apkinstaller.ApkInstaller&hl=en

App is based on Breadwallet - a bitcoin wallet source code. So it shares the same features (but connectong to BiblePay network instead Bitcoin)

Even if this is a test, wallet connects to BiblePay mainnet, so real BBPs are required.

Import & sweep is not functional yet. We need to manage a way to obtain unspent outputs for external private keys. This is implemented by Breadwallet using an external block-explorer API that we don't have for BBP at the moment.



4
Production Proposals / BiblePay mobile wallet (Android & iOS)
« 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:


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...


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



I will post more info as I make more progress. Please don't hesitate to ask whatever you may want.

Pages: [1]