When you think of a cryptocurrency mining rig, it’s easy to associate it with large rigs featuring multiple GPUs in some type of air-cooled room. While that may be true, not every cryptocurrency needs hulking GPUs and rigs designed specifically with mining in mind. In fact, thanks to a handy app called MobileMiner, it’s even possible to mine certain cryptocurrency from a device as diminutive as the iPhone in your pocket.
What is MobileMiner?
MobileMiner is a CPU miner for ARM64 iOS devices created by Elias Limneos, a jailbreak developer known for popular jailbreak tweaks like CallBar. I’ve been testing MobileMiner for the last few hours, and wanted to show you how it works.
What makes MobileMiner so interesting is that it’s extremely easy to configure and start mining directly from your iPhone, no jailbreak needed. All you need to do is build and deploy the project using Xcode (or download and install a precompiled build), obtain a wallet address, and start mining.
MobileMiner is a fork of LucasJones’ cpuminer-multi, which has been compiled with ARM64 iOS devices in mind. You can obtain MobileMiner directly from GitHub, and use it to build a project within Xcode for deploying to an iOS device of your choice.
Limneos recommends using more recent iOS devices — iPhone 7, iPhone 8, and iPhone X — because their powerful CPUs produce the best hash rates.
Video walkthrough
Disclaimer: If you’re a developer, feel free to head over to MobileMiner’s GitHub page for the open source code that can be inspected, and compiled to run on your iOS device.
If you’re not a developer, and simply want a prepackaged IPA that can be easily installed via Xcode and iOS App Signer, then there is a precompiled IPA available on MobileMiner’s GitHub page as well.
Obviously there is a level of trust required for those who are willing to install precompiled code on a production iOS device, but I feel comfortable about it considering that I’ve known Elias for years. That said, proceed at your own risk.
Like some automated mining solutions, 1% of all mining profits go back to the developer — in this case, Elias Limneos. Of course, one could always alter the source to change this, but I think leaving it in is a nice gesture to help support his efforts.
MobileMiner is capable of mining CryptoNote currencies, which is best done on a CPU rather than GPU, making it well-suited for ARM64 iOS devices. CryptoNote currencies include Bytecoin, Monero, Electroneum, and many others.
In this particular test I opted to mine Electroneum. In order to do so, you’ll need to visit the official Electroneum website and set up an account to obtain a wallet address and Pool URL. These values are then inserted into MobileMiner, which allows you to commence mining Electroneum. All other CryptoNote-based currencies work in a similar manner.
Installing MobileMiner
If you’re a developer, then you can use the open source project to download, build, and deploy MobileMiner to your iOS device. For those who just want to take it for a spin on a test device, you can use Xcode + iOS App Signer in order to do. Be sure to read the disclaimer mentioned above before proceeding.
Step 1: You’ll need an Apple Developer-enabled Apple ID to get started. Read up on our tutorial for creating one here.
(Note that Apple enforces a 7-day expiration period for free developer account app installs. When this period elapses, you must connect your iOS device back to your Mac and resign the app.)
Step 2: Install Xcode from the Mac App Store, and log in with your registered Apple ID.
Step 3: Connect your iOS device to your Mac, and be sure that you have it set as a trusted device.
Step 4: Download iOS App Signer and the MobileMiner.ipa.
Step 5: Create a new Xcode Project using parameters similar to the ones listed below:
Step 6: Open iOS App Signer, and select the MobileMiner.ipa input file, Signing Certificate, and Provisioning Profile from the Xcode project. Click Start and save the resulting IPA file to your desktop. (Alternatively you can use Cydia Impactor to sign the app).
Step 7: Open Xcode and select Window → Devices & Simulators in the menu bar. On the Devices & Simulators page, select your iPhone, click the ‘+’ sign under installed apps, and select the MobileMiner.ipa file created in Step 7. If successful, the Mobile Miner app should appear on your iPhone’s Home screen.
Step 8: Go to Settings → General → Profiles & Device Management and select your profile under Developer App. Tap the Trust button to enable MobileMiner to run on your device.
MobileMiner should now launch when you tap its icon on the Home screen, allowing you proceed with configuration.
Configuring MobileMiner
From there it’s just a matter of setting some of the options inside the MobileMiner app, and there are quite a few pertinent ones. Let’s explore each setting now:
Active Configuration
Once you have a configuration (wallet address) established from the currency of your choice, you can use the Active Configuration option to quickly switch between active configs.
For example, if you are mining both Electroneum and Monero, you can use the Active Configuration option to switch between which is being currently mined.
As noted, I’ve opted to use Electroneum. A Username/wallet address can be obtained by simply signing up for an Electroneum account. The same principle applies for most other cryptocurrencies.
Edit Configuration
Here is where you can add, edit, and delete current configurations. To add a new configuration, tap the Edit button in the upper right-hand corner, followed by the Add New Button in the upper left-hand corner.
From there you can add a configuration name, Pool URL, Username/Address, Password, and the number of threads. The default number of threads is two, but on modern devices like the iPhone 8 and iPhone X, you can bump the amount of threads to higher amounts.
Keep Alive in Background
This is the setting that makes MobileMiner such a useful app. Beside the fact that you can mine in the foreground, MobileMiner allows for perpetual mining via background keep alive.
In order to make this work, Limneos employed the use of a known workaround to take advantage of a privilege normally available for apps like Music apps that play audio in the background. The workaround resets the expiration timer, a trick that’s not allowed in the App Store, to keep the app running in the background perpetually.
This allows MobileMiner to keep running in the background indefinitely, otherwise it would be suspended while in the background after a few minutes. It’s also one of the reasons why you’ll never see a mining application like MobileMiner appear in the App Store.
Allow Notifications
While MobileMiner is backgrounded, you can enable status updates via notifications.
Live Currency Rates
MobileMiner can display two sets of live currency rates in the bottom-left and bottom right-hand corner. Currently you can choose between four types of cryptocurrencies — Electroneum, Monero, Bitcoin, Ethereum, and Litecoin, translating those currencies into current USD or EUR values.
Mining Cryptocurrency with MobileMiner on iPhone
As noted earlier, I’ve opted to mine Electroneum. It also helps that when adding a new configuration that MobileMiner defaults to the Electroneum Pool, which is one less step you have to manage if you opt to mine Electroneum. That said, switching pool addresses is as easy as copying and pasting the address, so any valid pool can be easily configured.
The Username/Address is a public value, and serves as your virtual wallet. The password, which simply defaults to ‘X’ is unimportant for most pools unless the pool requires a registered user.
In effect, you could change the password value to whatever, and you will still be able to start mining.
Once you’ve settled on a configuration, you’ll see your current mining configuration displayed on MobileMiner’s main screen. From there it’s just a matter of pressing the Start Mining! button to commence mining.
If your configuration is valid, mining should begin successfully. You’ll see the current hash rate, accepted percentage, and pool difficulty. MobileMiner also keeps tabs on how long you’ve been mining, and displays a one line stream of data from the log to keep you abreast on the current status.
Speaking of the log, you can also view the current miner log by tapping the Log button near the bottom right-hand corner. this provides users with a real-time stream of current mining data.
Background cryptocurrency mining on iOS
As I alluded to earlier, perhaps the most remarkable thing about MobileMiner, beside the fact that you’re mining crypto from an iPhone, is that all of this can be done in the background. This means that you can use other apps, go to the Home screen, or simply put your iPhone to sleep, and MobileMiner will keep working diligently in the background.
You’ll even receive handy notification updates, if you opt to keep notifications enabled, to keep you abreast of MobileMiner’s status while in the background.
Stop Mining
To stop mining, simply tap the Stop Mining button at the bottom of MobileMiner’s main page. You can always restart mining at a later time.
The battery life conundrum
Cryptocurrency mining in general has received criticism for the amount of energy that it uses, and rightfully so. Unsurprisingly, MobileMiner is absolutely not battery friendly — my iPhone died after just a few hours with MobileMiner running in the background. If you’re going to use MobileMiner, you probably want to have your iOS device plugged into a wall.
Making money
So can you make money by mining cryptocurrency on an iPhone? Temper your expectations accordingly. For example, right now Electroneum is only paying about $0.09 per unit, and it takes a considerable amount of time to mine a single unit.
Rough estimates put payout around $12 a month when mining 24/7, and that’s not considering power usage. In other words, don’t necessarily look to this as a way to strike it rich. I view it more as a fun learning experiencing and proof of concept.
Conclusion
There have been other attempts at mobile mining, but MobileMiner is the first polished solution that doesn’t rely on a browser, and uses the power of the iPhone’s powerful CPU via an internal process. Best of all, it doesn’t require a jailbreak in order to side load on to your iOS device.
Needless to say, I’m very impressed with MobileMiner. It’s a quick and easy way to start mining cryptocurrency on a device that fits in your pocket. What are your thoughts on the matter?