iOS挖矿了解一下?

区块链与挖矿

如果要问你2018年互联网什么最火?肯定是区块链啊!有多火?听说前几天区块链大会上毛爷爷都现身了😅。区块链是啥,百度百科的解释是区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。😯好复杂有木有,那区块链能干啥?那很多啦,比如说发币、挖矿还有🤐。再说炒币,听说是韭菜割了一茬又一茬,郁郁葱葱,野火烧不尽啊。

说正事,iOS设备怎么挖矿。我使用的是xmrig,官方提供了window平台的支持,提供了MacOS等平台的编译方法,唯独没有iOS和Android设备,可是我想用我的iPhone挖一挖啊,不中,我得看看能不能编译出来iOS的包。

编译xmrig for iOS

xmrig的作者使用C++封装了门罗币算法,如果如果我们要在iOS平台上使用有两种方案:

  1. 源码拖到iOS工程里,直接调用C++方法,因为OC或者Swift与C++是可混编的。
  2. 编译成静态库,导入工程使用。

有兴趣的朋友可以试试方法一,反正我是放弃了,卡卡卡全是错。接下来我介绍方法二。

编译静态块

  1. clone xmrig
1
git clone https://github.com/xmrig/xmrig.git

可以看到根目录里面有一个CMakeLists.txt文件,这个文件里定义了编译规则。

  1. ios-cmake

cmake是一个夸平台编译工具,具体可参考cmake。github上有一个针对iOS平台的cmake工具ios-cmake。同样clone到本地

1
git clone https://github.com/leetal/ios-cmake
  1. 编译libuv for ios

xmrig依赖于libuv,但libuv没有iOS的版本,我们需要针对编译,具体可参考我之前的文章libuv移植的iOS平台

  1. 修改 CMakeLists.txt

    1. 添加静态库标识
    1
    2
    3
    4
    5
    6
    7
    add_library( # Sets the name of the library.
    native-lib
    # Sets the library as a shared library.
    # SHARED
    STATIC
    # Provides a relative path to your source file(s).
    ${HEADERS} ${SOURCES} ${SOURCES_OS} ${SOURCES_CPUID} ${HEADERS_CRYPTO} ${SOURCES_CRYPTO})
    1. 指定C++版本
    1
    set (CMAKE_CXX_STANDARD 11)
    1. 添加install 命令
    1
    2
    3
    4
    //导出文件路径
    set (CMAKE_INSTALL_PREFIX "自定义路径")
    install (TARGETS native-lib DESTINATION .)
    install (FILES ${HEADERS} ${HEADERS_CRYPTO} DESTINATION .)

    注意:你需要根据具体报错信息去修改这个文件。

  2. 开始编译

    在根目录依次执行如下命令:

    1
    2
    3
    4
    5
    6
    //命令1
    cmake .. -DWITH_HTTPD=OFF -DWITH_LIBCPUID=OFF -DUV_INCLUDE_DIR="libuv include文件路径" -DUV_LIBRARY="libuv.a文件的路径" -DCMAKE_TOOLCHAIN_FILE="ios-cmake文件路径" -DENABLE_ARC=0 -DENABLE_BITCODE=0
    //命令2
    make
    //命令3
    make install

    之后你会在第四步设置的导出文件里看到导出的静态库以及头文件。

  3. 将静态库已经头文件拖入工程、调用相关方法执行。这里的具体调用我就不细说了。因为不同的版本调用方式不一样,差异挺大。核心的方法都集中在crypto文件下。

  4. 执行,我用我的iPhone6测试机单线程算力在6H/s,双线程在11H/s,下图是apple测试员在ipad上的执行效果。

    效果

    上架

    目前AppStore是不允许类似的应用上架的,因为违反了Guideline 1.4.5 - Safety - Physical Harm。当然你可以以其他方式达到上架的目的。

    小白挖矿

    如果你对挖矿感兴趣可以使用哈鱼矿工这个软件,目前这个软件实现了在Window、MacOS、Linux等系统上一键挖矿,而且目前是0抽成还有收徒红包。并且任何使用问题都可以在官方QQ群中咨询。QQ群号:624825298