pointbiz / bitaddress.org

JavaScript Client-Side Bitcoin Wallet Generator
https://www.bitaddress.org
2.42k stars 1.5k forks source link

BIP-38 does not work on iPhone 6 #263

Open robster7674 opened 2 years ago

robster7674 commented 2 years ago

To make use of my old iPhone 6 lying around, I wanted to set it up as an offline hardware wallet, holding some "paper" wallets. I wiped the phone, updated it to the latest available iOS for that model (12.5.5, no more updates after that), and put bitaddress.org in the Reading List, ensuring that under Settings for Safari I enabled caching of Reading List web pages. That all worked fine and I can generate wallets perfectly fine, until I enable BIP-38 encryption: that never finishes. All I see is the browser stuck on a spinning wheel. I left it 24 hours to see if it was due to not-so-performant hardware, but that's apparently not the case, since on much-lesser spec'd Android or Linux phones I can generate BIP-38 encrypted paper wallets just fine, albeit somewhat slow. When looking through the issues on this repo I came across:

============== It's likely a memory issue. The BIP38 constants were selected such that they would work with JavaScript in desktop browsers and take a few seconds to generate a BIP38 key. So, it's not likely to work on any iPhone for another few years until that hardware catches up. This is as per the BIP38 standard so it cannot be changed in bitaddress.org

Originally posted by @pointbiz in https://github.com/pointbiz/bitaddress.org/issues/39#issuecomment-29492348

Do you think it's a memory issue on the iPhone 6 as well? Or could it be an issue with the relevant libs on iOS? It would be really cool if I could put this old device to use.