文档章节

[翻译完成] 树莓派比特币矿机

八宝粥
 八宝粥
发布于 2013/06/25 10:26
字数 1798
阅读 5764
收藏 8

初始设置 & 预览

如果你还不清楚比特币是啥, 请先看 这里.

完成本文的设置后, 你的树莓派将成为USB比特币挖矿设备的控制器及状态显示器. 本文集成了一块LCD屏到树莓派上来显示散列率, 错误率, share数据, 网络难度, 当然还有总挖矿速率.

bcminer1_1200.jpg

配备:

  • 一块树莓派+ 装好Raspbian的SD卡并配好网络接入

  • Adafruit 16x2 LCD屏幕 + 键盘套装

  • I2C, & Adafruit 树莓派代码库

  • USB比特币挖矿设备

  • 带电源USB Hub (因为USB供电的挖矿设备的需要)

  • 矿池账号

  • PC电脑(只用来配置)

在开始教程之前你需要确认树莓派完好无损, 能够连接网络, 并且组装上了Adafruit的LCD屏.

下面列出了些基础的教程:

你确定配好了以上内容, 再接着往下看!

    BlockErupterUSB-FrontBack-crop.jpg

    USB挖矿设备


    在写本文的时候, 专用的比特币挖矿硬件可能有点难找, 但是下一代基于ASIC的设备的出现会改变这一情况. 一些开源项目及相关信息可以在BitcoinTalk论坛上找到.
    在本文里我通过BitMit来调用ASICMiner USB矿机刀片. 虽然本教程使用这一型号的USB矿机刀片, 其他刀片也只需要做一些小修改就可以与cgminer v3.1.1兼容.

    软件安装

    cgminer

    Cgminer是一个支持  SHA-256和  scrypt算法的跨平台挖矿程序, 能够驱动大部分挖矿硬件.  
     
    要想在树莓派上安装cgminer, 我们首先需要通过ssh或者远程桌面连接树莓派.

    在登录后, 输入以下命令将预装软件全部更新到最新版本: 

    sudo apt-get update

    在更新结束之后, 输入以下命令安装  cgminer的依赖库:

    sudo apt-get install libusb-1.0-0-dev libusb-1.0-0 libcurl4-openssl-dev libncurses5-dev libudev-dev

    在安装好依赖之后, 输入以下命令下载cgminer软件:

    wget http://ck.kolivas.org/apps/cgminer/3.1/cgminer-3.1.1.tar.bz2

    提示: 这不是最新版本的cgminer, 当前版本 (3.2.2)在   Raspbian上与USB矿机刀片通讯有问题.  

    在下载完成之后, 输入以下命令解压缩:

    tar xvf cgminer-3.1.1.tar.bz2

    跳转到刚解压缩的cgminer目录下:  

    cd cgminer-3.1.1

    配置程序使用USB矿机刀片:

    ./configure --enable-icarus

    提示: 其他类型的设备需要特定的"--enable"参数, 更多信息请查看cgminer的README.

    最后, 编译程序:

    make

    … 到此cgminer安装结束.

    PiMiner

    PiMiner软件会持续收集挖矿设备的信息, 格式化要显示的信息, 并响应16x2 LCD屏上的按键.  
     
    输入以下命令进行安装:

    git clone https://github.com/adafruit/PiMiner.git

    在下载完成后, 我们要先设置矿机.

    配置设置

    现在我们来创建一个配置文件来储存  cgminer使用的设置.  
    输入以下命令创建并编辑文件:

    sudo nano cgminer.conf

    使用你自己的矿池账号替换掉下面模板里的"PoolAddress:Port", "UserName.WorkerName", 和"Password", 然后复制粘贴到  nano编辑器中:  

    { "pools" : [  {  "url" : "PoolAddress:Port",  "user" : "UserName.WorkerName",  "pass" : "Password"  } ] ,  "api-listen" : true,  "api-port" : "4028",  "expiry" : "120",  "failover-only" : true,  "log" : "5",  "no-pool-disable" : true,  "queue" : "2",  "scan-time" : "60",  "worktime" : true,  "shares" : "0",  "kernel-path" : "/usr/local/bin",  "api-allow" : "0/0",  "icarus-options" : "115200:1:1",  "icarus-timing" : "3.0=100" }

    上面包含了"icarus"的行指定了USB矿机刀片, 如果你用其他不同的挖矿设备请更改数值!

    例如, 你使用  Slush's pool来挖矿, 就需要将  "PoolAddress:Port"替换为:

    "http://stratum.bitcoin.cz:3333",

    在修改好配置文件后:  
     

    1. 按ctl+x退出编辑

    2. 按y键确认更改

    3. 按回车键保存文件

    现在设置就保存好了. 我们在等会启动  cgminer时会用到这些.

    开始挖矿

    PiMiner-HubAndMiner.jpg  

    现在你可以把你的USB挖矿设备脸上树莓派了.

    如果挖矿设备是靠USB供电的(例如USB挖矿刀片, 或者Klondike1), 你需要将其通过有源hub链接, 再将hub与树莓派连接. 挖矿设备如果有外部电源就最好不过了,可以直接连接或者通过hub连接都行.

    运行cgminer

    所有设备都连好之后, 我们需要找到每个设备的地址. 输入以下命令可列出所有USB设备序列号:

    ls /dev/*USB*

    执行结果如下:

    List-USB-Serial.jpg  

    上面显示了两个USB序列号地址:  /dev/ttyUSB0和  /dev/ttyUSB1  
    通过"-S"参数传给cgminer.

    输入以下命令将cgminer作为后台进程执行:

    把"/dev/ttyUSB0"和"/dev/ttyUSB1"参数换成你连接设备的地址 -例如, "-S /your/deviceAddress"

    sudo nohup ./cgminer-3.1.1/cgminer --config /home/pi/cgminer.conf -S /dev/ttyUSB0 -S /dev/ttyUSB1 &

    对于其他USB挖矿设备, 用下列命令, 请先查看cgminer的README文件以确定要用哪个参数 (并移除尖括号):

    sudo nohup ./cgminer-3.1.1/cgminer --config /home/pi/cgminer.conf <add parameters here!> &

    (在这里你可能需要点击回车来恢复命令行提示符)

    运行PiMiner

    输入以下命令把PiMiner作为后台进程启动:

    sudo python PiMiner/PiMiner.py &

    这时LCD屏应该亮起并且会显示你的矿机信息:

    PiMiner-Screen1.jpg  

    控制


    PiMiner-Screen3.jpg

    LCD屏板上的按钮可以用来切换显示信息

    上/下键

    按上下键会循环切换不通的有效信息: 

    屏1:

    • 接收到的share, 拒绝的share, 硬件错误

    • 平均每秒散列率


    PiMiner-Screen1a.jpg

    屏2:

    • 使用矿池地址 & 端口

    • 当前帐号名称


    PiMiner-Screen2.jpg

    屏3:

    持续运行时间

    • 当前网络难度

    PiMiner-Screen3a.jpg

    屏4:

    • 挖矿设备数量

    • 总计错误率

    PiMiner-Screen4.jpg

    左/右键

    当一行超过16个字符时可以使用左右键来调节文字位置. 通常用在查看矿池信息时 (看屏2)

    PiMiner-TextOverflow.jpg

    几秒后文字位置会自动重置到初始位置.

    选择键

    在使用单色显示时按下选择键会切换显示器背光开关, 在使用RGB显示时会切换颜色.


    如何停止?

    Cgminer 3.1.1不支持  USB热插拔. 所以在添加或移除USB挖矿设备, 你需要先关闭挖矿操作.

    bcminer2_1200.jpg  

    选择 1: 使用选择键关机

    (来自  Raspberry Pi WiFi Radio project)  
     
    最简单的方法按住选择键三秒钟就停了. 按了之后, 在LCD背光关闭茜会显示如下信息:

    PiMiner-Shutdown.jpg  

    树莓派会通过关机程序来结束所有进程. 你需要在拔下或重启树莓派茜等待30秒.

    选择 2: 不关机停止挖矿

    如果你希望在不关闭树莓派的情况下停止挖矿, 用ssh或者远程桌面树莓派, 输入以下命令.  
     
    首先, 要停止运行在后台的PiMiner脚本, 我们需要输入下列命令来查找其进程ID:

    ps aux | grep PiMiner

    输入命令获取列表:

    PiMiner-FindPiMinerPID-2.jpg

    上面列表可以得到  PiMiner的进程ID  (在这里是4097).  
    输入命令来停止PiMiner:

    sudo kill 4097

       输入以下命令来查找cgminer的进程ID:  

    ps aux | grep cgminer

    PiMiner-FindCgminerPID.jpg

    现在使用上面列出的进程ID来停止cgminer:

    sudo kill 10343

    到此 - 采矿停止!

    © 著作权归作者所有

    共有 人打赏支持
    八宝粥
    粉丝 51
    博文 24
    码字总数 35970
    作品 0
    程序员
    私信 提问
    加载中

    评论(4)

    吥楛糖
    吥楛糖
    打算入坑!
    july
    july

    引用来自“八宝粥”的评论

    引用来自“july”的评论

    挖的结果怎么样啊?! 比如多长时间能挖一个 :)

    作为资深屌丝~~最便宜也要200多的一个刀片真心搞不起.... 你可以去试试

    昨天我研究了一上午,觉得这东西想法不错,但是要被主流社会接受比较困难,还是放弃了。。。
    八宝粥
    八宝粥

    引用来自“july”的评论

    挖的结果怎么样啊?! 比如多长时间能挖一个 :)

    作为资深屌丝~~最便宜也要200多的一个刀片真心搞不起.... 你可以去试试
    july
    july
    挖的结果怎么样啊?! 比如多长时间能挖一个 :)
    Linux 恶意软件将树莓派设备变成“矿工”

    Linux 平台上一款名为 Linux.MulDrop.14 的恶意软件正在感染 Raspberry Pi 树莓派设备。受感染的机器被用于为恶意软件的作者挖掘数字货币。不过,好消息是,恶意软件相当简单,其传播依赖于树...

    局长
    2017/06/12
    3K
    15
    用PHP和树莓派开发一个比特币/以太坊交易机器人

    我最近得到了,我告诉你这个东西是改变游戏规则的。我之前使用过,但由于该设备的占地面积小得多,耗电少,价格便宜且无线上网,因此非常适合低端或物联网项目。 注:目前我已经扩展了机器人...

    笔阁
    2018/09/13
    0
    0
    PHP和树莓派如何开发比特币/以太坊交易机器人

    我最近得到了,我告诉你这个东西是改变游戏规则的。我之前使用过,但由于该设备的占地面积小得多,耗电少,价格便宜且无线上网,因此非常适合低端或物联网项目。 注:目前我已经扩展了机器人...

    编程狂魔
    2018/09/13
    0
    0
    区块链 | 一文了解比特币的挖矿、矿机—《区块链历史链条》3

    区块链从15年火到18年,但是你却对区块链一知半解,小编特打造《区块链历史链条》,将抽象的区块链概念由抽象化解释为形象化,供君参考。 21比特币的数字签名 比特币的数字签名,就是只有比特...

    雪花又一年
    2018/04/16
    0
    0
    暴跌60% 从20000美元到8000美元的比特币能抄底吗?

      图片来源:视觉中国   每经编辑 王晓波   作为加密数字货币的代表之一,比特币在去年曾呈现爆炸式的疯狂上涨,最高时一度升至近20000美元,从而引发全球投资者蜂拥而入,然而这一过热...

    每日经济新闻
    2018/02/02
    0
    0

    没有更多内容

    加载失败,请刷新页面

    加载更多

    Redis异常提示: OOM command not allowed when used memory > ‘maxmemory’

    异常提示:内存已满,不允许再存数据了,可以通过redis-cli 查看redis的具体信息 127.0.0.1:6379> info memory# Memoryused_memory:168363320used_memory_human:160.56Mused_memory...

    开源中国最牛的人
    24分钟前
    0
    0
    Cannot use Arrays.copyOf because of class initialization order issues

    在看String类的源码时,发现String类里的toCharArray()方法中有一段注释如下: 经多方查找资料后,现解释如下: 虽然String 和Arrays 都属于rt.jar中的类,但是BootstrapClassloader 在加载这...

    无语年华
    28分钟前
    0
    0
    Git 分布式版本管理系统

    Git特点: 每个Git节点都保存完整的文件历史提交记录,可=在不联网的情况下将代码提交到本地仓库,联网的情况下将本地的Patch push到远程仓库,而远程公共仓库只是整个项目的一个公用的备份仓...

    ZeroneLove
    49分钟前
    4
    0
    免费节假日API 开源了,可以离线调用, 可以集成到自己系统中

    免费节假日API 注:原百度节假日API即为本人提供,后百度apistore禁止个人开发者所以才有此独立接口. 鉴于免费版访问量过大对于服务器压力过大现将免费版开源供大家离线调用. 开源的功能为最核...

    xiaogg
    49分钟前
    1
    0
    手机主宰了你的生活,这不是乔布斯想看到的

    简评:当年乔布斯的原话是「今天,苹果将重塑手机」而不是「重塑你的生活」。 智能手机是我们忠实的伴侣。对于我们中的很多人来说,它亮着光的屏幕无处不在,无休止地转移我们的注意力,比如...

    极光推送
    52分钟前
    3
    0

    没有更多内容

    加载失败,请刷新页面

    加载更多

    返回顶部
    顶部