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] 2 3 4 5 6 7 8
Sounds legit

Production Proposals / VMWare Fusion license for MacOS testing
« on: July 05, 2018, 02:07:59 am »

I found this really useful tool, that allowed us to test the MacOS version of the Biblepay QT wallet.

As you may know, testing the DMG in the development Mac was misleading, because a dev Mac has all the libraries installed and it's impossible to know if you are leaving one or the other behind.

Moreover, Apple compiler links dynamically by default, so you are forced to whether force a static link (I could do that with libboost, libcrypto, etc.) or include and codesign all the dylibs into the bundle (this was the case for QT framework libs).

I could not have made it without being able to create an empty MacOS 10.13 (High Sierra) virtual machine. Also, this tool allowed me to test in previous OS version, 10.12 (Sierra), creating another empty VM. This way I could check that the DMG bundled all the required binaries.

I am using the 30-day evaluation version, but I would need to get a permanent license to keep on testing on the future (and future MacOS versions that are coming).

Cost is 88,95 ($104) @$0.00185107/BBP = 56184 BBP requested

Thank you for your time.

Okay... So that basically means that BiblePay would have to be incorporated (I don't know if this is the correct term) before we can publish the wallet for Apple?

Well... Plans are underway to achieve this, but I guess you could call those plans mid-term, so it would be really unfortunate if we could not publish now with an 'individual' account...

I can also incorporate my dev activity into a company but in Spain regulation is so suffocating that it's barely worth it. No wonder why this country's economy is degradating every month. You have to work for gobernment 6-7 months out of 12 because of the taxes everywhere.

I'm getting extra questions from Apple about the coin, and it seems the new Apple policy has hardened the conditions.

They now say that wallets are allowed but they need to be published under a "Corporate" account (now I only have a "Individual" account).

We can try it but... it's going to be difficult I'm afraid.

So do we need on both Sanc and windows controller wallet or just in Sanc?

Edit: ok I read again and it's about testing on a hot wallet Sanc.

I do not have the Breadwallet Bitcoin Wallet installed.

Ok just to discard some conflicts.

I posted new beta to Apple but this time they rejected the binary and send me the classical questions about the coin. It will probably take 1-2 days to get response (and approval)

I discovered that Apple guys on Testflight approval near weekends are more picky than the ones on Mon-Thu shift.

I would use this as a hint on how to submit the app for final approval on App Store.

What's your opinion?

The app is crashing when I try to open it. It crashed 4 times then opened. I have Touch ID on. I canceled it and manually inputted my password then it worked.

I can see some crash traces related to a problem in iOS queues I discovered yesterday. Not 100% sure that this is causing your crashes but there is a reasonable chance they are.

I will post now an update to address this problem, you will all get notified by Apple when it's approved and available.

BTW: do you have the original Breadwallet Bitcoin Wallet also installed in your iPhone?

Finally part 2 was also solved.

I had to create and sign the executable into a MacOS bundle which was sort of complicated stuff (docs only refer to XCode IDE projects) and there is little or none info on manual bundling.

So we will have the MacOS wallet DMG uploaded to shortly.

Does MEMO actually get captured in blockchain, or just the iOS app? You think it should be captured in blockchain? Maybe too much work right?

Currently it's only stored as metadata in the app database. Sending it to the blockchain would require to add an unspendable output. It increases size and fees, and it's not recommended behavior as it's seen as bloating the chain.

Other feedback:
  • Send BBP > Scan . Only camera is possible. What I want to send someone BBP from a web site I went to. QR code is there, but how do I scan? This assumes I need a computer display or print it out, etc... If I take a screenshot on iOS, a way to import a picture would be good too, right?

usually you are also offered a text address along the QR, so you just have to copy and paste it.

  • knowing who send you payment (BBP address). Someone send me 5 BBP and it was very difficult to send 1 BBP back as a test

it should show in the transaction detail popup.

  • Address Book to send payment.

Address reutilization is worst practice towards privacy.

  • Maybe quick access to explorer based on from or to BBP address - like %s you find in BBP QT wallet (right click go to explorer)

Would be ok, we have URL to explorer for UTXO recovery. I will note that one.

BOINC for iOS? That would be amazing, but I didn't think this is possible currently.

It's possible, I'm even preparing that feature for Android now. I must test the burn tx and implement some convoluted logic it has inside for banked/non-banked but there is no technical stopper.

Ok so this was it:

It seems that, unlike Linux, MacOS has a predefined stack size, which is 8MB for main thread, and a pityful 512KB for the other threads.

This is the reason why biblepayd loaded the verses fine, because it lives in main thread.
But QT version launches it's own thread for windowing and when it tries to load the verses, it hits the 512KB limit for the stack.

Solution: I had to patch qthread_unix.cpp from QT 5.11.0 to increase the stack size of threads, compile QT all over again (317 minutes lol) and then... it worked!!!

So we have part 1 finished.

Now I'l begin part 2, creating and signing DMG file for distribution.

And using GNU toolchain gives you better results?

I hate compiling on macOS. I'm almost going bald now pulling my hair out. ;)

I think they are both the same, it's just that apple included some copy with symlinks into their XCode bundle.

I would try to increase the stack size in the linker, as it seems that QT libraries put some pressure on the stack (proof is that biblepayd loads perfectly but biblepay-qt fails when loading the same 31102 verses.)

Ok a quick summary on the MacOS compile efforts

I could compile with the latest QT version, adding c++11 flags to the compiler and some tweaks on Txmempool source because of some obscure C++ quircks in boost 1.66+. The GUI-less daemon works wonderfully, but the biblepay-qt GUI crashes.

When debugging I saw it crashed at kjv.cpp when creating this huge b[31102] array with Bible's verses, at index 1223 .
I tried to change the static allocation with a unordered_map structure, hoping that C++ magic would come to the rescue. Little progress, it just crashed at verse 9010.

I found this guy from Norway at Discord that told me he had compiled and run the QT version without issues. The funny thing is that he had made exactly the same tweaks and flags I made, and he has the same OS version. The only difference is that he's using the GNU toolchain and I have the XCode toolchain, which could also be the same thing by just using a symlink.

I suspect of some compiling options so now I'm reviewing and comparing all the environment, versions, etc. one by one which looks like a lot of pain ahead :-D

EDIT: I saw that in MacOS the default stack size is 8MB. That would explain something. After increasing the stack size it still crashes, but it processes more verses. In fact if I comment the last 14000 verses application loads fine (but it's unable to load chain because of the failing PoW checks...). I'll keep on researching.

I'm getting comments that crypto wallets are not passing thru apple approval process unless the currency is "approved" by them. Nobody knows what this is but it seems that we have been lucky to even pass to beta stage.

I will call apple support to know more about this because before I started with this development I raised a ticket to them and they told me there would be no problem. But I don't want to be rejected in the latest step after all the hours we have invested on this.

I'll keep you posted.

EDIT: it seems they send you a standard questionnaire with some questions about the coin and the project. How the evaluate it and consider a coin is "approved" is a mistery.

I would need to know about your feedback so we can start this review process as soon as possible.

Sweet!  This is fabulous!

Ok, I'm running the iOS version in TestFlight.

So far so good.

I just recevied 111 bbp.

I will send it back to myself now.

The only enhancement I see so far is in Security Center, there are two references to "BRD" that I believe should be changed to "BBP".

Thanks dude.

In my spanish version I can't see those references to Bread. Could you please post a screenshot? Sometimes they are strings, sometimes icon resources... it's hard to find without a visual aid.

Thank you!

EDIT: I found it! fixing...


This version is functionally the same as Android one so it will be easy to test.

It's currently under review so meanwhile I'll start gathering the brave ones that will want to do the TestFlight.

I need  email+name+second name in order to register you for beta.

When the build is approved by apple you will see a notification email with the invite for test.


Here some eye candy taken from my iPhone 8

Pages: [1] 2 3 4 5 6 7 8