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.


Messages - MIP

Pages: 1 ... 6 7 8 9 10 11 12 [13] 14 15 16
181
Archived Proposals / Re: BiblePay mobile wallet (Android & iOS)
« 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



182
Archived Proposals / Re: BiblePay mobile wallet (Android & iOS)
« 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.

183
Archived Proposals / Re: BiblePay mobile wallet (Android & iOS)
« 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?

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



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.

185
Archived Proposals / Re: BiblePay mobile wallet (Android & iOS)
« 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.

186
Archived Proposals / Re: BiblePay mobile wallet (Android & iOS)
« 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.

187
Archived Proposals / Re: BiblePay mobile wallet (Android & iOS)
« 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!



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



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

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

189
Cool :) I like your thoughts on breadwallet because there is no 3rd party server dependency. I always thought that those servers could be a point-of-attack (especially when it's just one server).

Most interesting is that Breadwallet SPV thin client C library is shared between Android&iOS so even if we start with Android version, most of the non-GUI work will be already available for the iOS version.

190
Ok, 1.1.1.2 is out there if you want to give it a try, let me know a txid and Ill look at the 'getrawtransaction txid 1'.

It worked! The funny thing is that I didn't even have to exec podcupdate to see the utxoamount again.

Some samples

2hr before updating (still with 1.1.1.1):
3abf4bdd39b918de8354df6143ac53f5948d7a16ea1b454ea7ee82e6570923b7

After updating to 1.1.1.2
632d8ec195e01a3679d0928196da7739e2e3912592dab84afa353bd1880c9a4a


191
Great! I will wait, anyway I'm out of tomorrow´s reward too so no hurry.

Thank you for the incredible efforts.

192
Getting closer; what OS and BBP compile version are you currently running that is emitting this particular sig?

OS: Windows Server 2012 R2 Standard
BBP compile version: 1.1.1.1

194
I just created a clean wallet, imported the address to stake with, re-associated and made podcupdate true, waited for confirmations,

Code: [Select]

exec getboincinfo

{
  "Command": "getboincinfo",
  "CPID": "96892ec0fc8a2710fa84f26c9c84cd3e",
  "Address": "BE2XrQurnfzbqAGgMX9F8dXEyReML2Zr6H",
  "CPIDS": "96892ec0fc8a2710fa84f26c9c84cd3e;",
  "CPID-Age (hours)": 422657,
  "NextSuperblockHeight": 35670,
  "NextSuperblockBudget": 1197260,
  "96892ec0fc8a2710fa84f26c9c84cd3e_ADDRESS": "BE2XrQurnfzbqAGgMX9F8dXEyReML2Zr6H",
  "96892ec0fc8a2710fa84f26c9c84cd3e_RAC": 19534.21,
  "96892ec0fc8a2710fa84f26c9c84cd3e_TEAM": 15044,
  "96892ec0fc8a2710fa84f26c9c84cd3e_TaskWeight": 100,
  "96892ec0fc8a2710fa84f26c9c84cd3e_UTXOWeight": 0,
  "Total_RAC": 19534.21,
  "Total Payments (One Day)": 5543,
  "Total Payments (One Week)": 70287,
  "Total Budget (One Day)": 1197260,
  "Total Budget (One Week)": 13036836,
  "Superblock Count (One Week)": 7,
  "Superblock Hit Count (One Week)": 7,
  "Superblock List": "35465,35260,35055,34850,34645,34440,34235",
  "Last Superblock Height": 35465,
  "Last Superblock Budget": 1197260,
  "Last Superblock Payment": 5543,
  "Magnitude (One-Day)": 4.629737901541854,
  "Magnitude (One-Week)": 5.391415524441666
}


 :(

The PoDC transactions:
172bd33f5ee7757d82464b071bc312cf4f570fa1d6d473c94bb42c84ab50ee5d
8a4df3cdc03ad31be3a4acf7d20edc2229cd0c96c1bed6756ec20c7add5c7bce

How can you check that it's valid or it is rejected?

195

Hmmm, it looks like these transactions were signed by a wallet not associated to the CPID - another words, to the foreign nodes these transactions look forged.

The first few on the list were signed by BE2XrQurnfzbqAGgMX9F8dXEyReML2Zr6H, yet when I look in the chain, exec search dcc 96892, I see your CPID is associated with a different public wallet key.

The controller doing the podcupdate should be the one associated with the CPID.

(Otherwise nodes will disregard your podcupdates as if the signature is forged).

EDIT: Whats the TXID of the one you just did successfully, I can check it?

I don't really know which is the last one that worked, How can I know? to me all seem exactly the same.

And I have been using the same address for a week without a problem. In fact I got payments until yesterday ...

Edit: ok I will start again with a "new" wallet file and re-associate from scratch to avoid interferences with other addresses.


Pages: 1 ... 6 7 8 9 10 11 12 [13] 14 15 16