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

为什么80%的码农都做不了架构师?>>>   hot3.png

初始设置 & 预览

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

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

[翻译完成] 树莓派比特币矿机_第1张图片

配备:

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

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

  • I2C, & Adafruit 树莓派代码库

  • USB比特币挖矿设备

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

  • 矿池账号

  • PC电脑(只用来配置)

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

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

  • L1. 为树莓派准备一张SD卡

  • L2. 首次配置

  • L3. 网络设置

  • L4. GPIO设置

  • Adafruit 16x2 LCD屏 + 键盘

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

[翻译完成] 树莓派比特币矿机_第2张图片

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时会用到这些.

开始挖矿

[翻译完成] 树莓派比特币矿机_第3张图片  

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

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

运行cgminer

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

ls /dev/*USB*

执行结果如下:

[翻译完成] 树莓派比特币矿机_第4张图片  

上面显示了两个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  &

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

运行PiMiner

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

sudo python PiMiner/PiMiner.py &

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

[翻译完成] 树莓派比特币矿机_第5张图片  

控制


[翻译完成] 树莓派比特币矿机_第6张图片

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

上/下键

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

屏1:

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

• 平均每秒散列率


[翻译完成] 树莓派比特币矿机_第7张图片

屏2:

• 使用矿池地址 & 端口

• 当前帐号名称


[翻译完成] 树莓派比特币矿机_第8张图片

屏3:

持续运行时间

• 当前网络难度

[翻译完成] 树莓派比特币矿机_第9张图片

屏4:

• 挖矿设备数量

• 总计错误率

[翻译完成] 树莓派比特币矿机_第10张图片

左/右键

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

[翻译完成] 树莓派比特币矿机_第11张图片

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

选择键

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


如何停止?

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

[翻译完成] 树莓派比特币矿机_第12张图片  

选择 1: 使用选择键关机

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

[翻译完成] 树莓派比特币矿机_第13张图片  

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

选择 2: 不关机停止挖矿

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

ps aux | grep PiMiner

输入命令获取列表:

[翻译完成] 树莓派比特币矿机_第14张图片

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

sudo kill 4097

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

ps aux | grep cgminer

[翻译完成] 树莓派比特币矿机_第15张图片

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

sudo kill 10343

到此 - 采矿停止!

转载于:https://my.oschina.net/funnky/blog/140297

你可能感兴趣的:(区块链,git,运维)