快捷导航
本帖最后由 zhliner 于 2014-12-9 10:09 编辑

相比于采用工作量证明的PoW挖矿,Peercoin的PoS挖矿机制的一大优点是成本低廉。因为成本低,所以只要你乐意,用自己存放了30天以上的PPC进行PoS挖矿是不需要付出太多的。

Peercoin社区的Peerbox项目,是一个采用树莓派(Raspberry Pi)微电脑硬件,基于ArchLinux平台定制的挖矿用安装包,最新版本请访问「这里」。目前该项目发展迅速,本人采用的是v0.23版。安装采用镜像直接写入SD卡的方式(如用win32diskimager工具),详情请参考圆点的教程:Peerbox在树莓派上安装配置教程(图解)。系统安装后,可能作者出于对SD卡小容量的考虑,默认的配置对大容量(8-16G)SD卡有一些低效。

目前市场上16G SD卡已经很普遍,高速的10速MicroSD卡价格也只在¥50元左右。所以笔者这里对采用16G卡安装后的优化做一下说明。

PS:如果只是用来做挖矿服务器,购买树莓派时可无需再买显示器。默认的Peerbox安装后SSH已经开启,从电脑端直接ssh登录操作即可。

附两张俺的树莓派靓照,呵呵(那个风扇现在已经拆掉了,声音太大。按现在的天气,即便24小时挂机也没多少温度)
IMG_20141122_234329.jpg
IMG_20141122_230150.jpg

SSH登录

镜像写入,插卡上电启动,等待一会儿(大概2~3分钟,等待系统稳定运行)。
在PC或笔记本端打开cmd.exe(Windows)或终端Terminal(Mac):
  1. ssh sunny@192.168.1.100  #后面的ip就是树莓派网卡的地址
复制代码

PS:一般可以在路由器的“DHCP服务器>客户端列表”里看到一个名为“peerbox”的用户,有其对应的ip地址。

密码默认为“peerbox.me”。因为ssh是安全连接,登录过程可能会问你是否接受目标网卡的证书,回答yes即可。

系统初始状态

登录之后,ppcoind服务已默认运行,可以键入“peerbox-info”查看本机Peercoin网络情况。peerbox-info是Peerbox系统专用的命令,目前貌似只有这一个,其它指令需要结合ppcoind使用(请键入“ppcoind help”了解)。

1. 查看磁盘使用情况(键入“df -h”):
01.png

2. 查看内存使用情况(键入“free -h”):

内存使用情况

内存使用情况

分析:
  • 从上面我们可以看到,无论是磁盘(SD卡)还是系统内存的交换分区,都设定得比较小。
  • 存放ppcoind数据(块链)的是一个单独的分区,只有约600MB,而且由于该分区采用的是“F2FS”文件系统(专为闪存存储设计),其系统文件就占据了约100MB,剩下只有500MB的空间供ppcoind使用,捉襟见肘。而且作为闪存存储技术,磁盘空闲空间越大越好(分散写入,延长卡的寿命)。所以这里有必要改进一下。
  • 交换分区作为内存的扩展部分,用以分担内存中数据的临时交换用途。在普通的Linux系统安装中,一般建议交换分区设定为内存的1-2倍大小。这里交换分区仅有100MB略少,出于同样的技术原因,而且我们的卡容量也足够大,所以可以适当增加这一设定值。

3. 查看磁盘分区情况(键入“sudo fdisk -l /dev/mmcblk0”):
注:在df显示中已经可以看到ppcoind目录使用的磁盘设备名,如果你的树莓派显示与这里不一样,请参考你自己的df的显示。

初始分区表

初始分区表


从上面看到,磁盘划分了1个主分区(mmcblk0p1),一个扩展分区。扩展分区里分出了2个逻辑分区mmcblk0p5(挂载整个Linux操作系统)和mmcblk0p6(挂载ppcoind数据目录)。总共使用的空间约4G(估计作者是参考4G容量的卡规划的)。为了充分利用16G卡的空间,我们做如下规划:
  • 划分出一个1GB的专用交换分区(目前系统使用的是交换文件);
  • 因为基本不需要干其它事,并且经常做数据读写的就是ppcoind进程,也就是说消耗SD卡寿命的基本就是ppcoind的数据存储区了。所以我们把剩余的全部空间作为ppcoind的数据存储分区,约12GB。这足以支撑足够远的PPC未来(尽量不坏卡);
  • 原来作为ppcoind数据存储分区的mmcblk0p6有600MB,可以作为Linux系统异常临时文件(dump)的存放区,避免这些文件空间占用影响系统效率。(PS:实际上我把1G的空间用在此处,而把这里的600M空间作为交换分区了)。

请按如下步骤修改系统配置

1.  分区修改(注:编辑器对代码录入处理有问题,这里只好截图说明了)
屏幕快照 2014-12-08 下午9.28.36.png
注意!
  • 这里只是新建了2个分区,修改了一个已经卸载了的分区的类型。不可删除或修改其它分区,否则会破坏现有安装的系统;
  • 修改完毕后按“w”键写入成功,但这时无法立即应用新的分区信息,需要重新启动。但“不要”立即重新启动!

2.  文件系统
屏幕快照 2014-12-08 下午9.31.29.png

新的分区表情况:
04.png

3.  挂载配置
屏幕快照 2014-12-08 下午9.33.25.png

4.  正常运行
屏幕快照 2014-12-08 下午9.34.32.png

df -h 查看挂载情况:
11.png

free -h 查看交换分区大小正常(已变为约700MB)
12.png

最后,或许你应该修改一下默认的登录密码,可执行“passwd”这个Linux命令。

挖矿常用脚本

在控制台界面下操作ppcoind,对于缺乏Linux使用经验的用户来说可能有些畏惧,但实际上控制台下操作也很简单。

在默认的Peerbox系统下,任何输入都会显示在命令行上——包括你输入的密码。虽然Peerbox对命令行历史做了特殊处理(.bash_history重定位到了/dev/null这个黑洞),一旦退出,命令行历史会无影无踪,但你可能还是不想让密码在命令行以明文的形式出现。

在命令行输入敏感数据的情况有4种,分别是:启动挖矿或解锁钱包(ppcoind walletpassphrase)、导入私钥(ppcoind importprivkey)、修改钱包密码(ppcoind walletpassphrasechange)。这里对这4种情况分别编写了执行脚本,执行时敏感数据不会显示。

PS:可以在ssh界面直接打开vi,复制文本保存为文件。增加文件的执行权限(chmod 0700 xxx.sh),执行脚本时指定文件位置(./xxx.sh)即可。

挖矿:minting.sh
  1. #!/bin/bash

  2. echo "Please ensure that you have started PPCoin-Qt before entering your passphrase."
  3. read -s -p "Enter Peercoin wallet passphrase: " passphrase
  4. echo ""
  5. ppcoind walletpassphrase "$passphrase" 9999999 true
  6. echo "Starting ppcoind with stake minting enabled."

  7. passphrase="..."

  8. echo "The passphrase is empty $passphrase"

  9. exit 0
复制代码
导入私钥:importkey.sh
  1. #!/bin/bash

  2. echo "Please ensure that you have started PPC-server before entering your passphrase."
  3. read -s -p "Enter the wallet privatekey: " privkey
  4. echo ""
  5. ppcoind importprivkey "$privkey"

  6. privkey="..."

  7. echo "The passphrase is empty $privkey"

  8. exit 0
复制代码
修改钱包密码:chpasswd.sh
  1. #!/bin/bash

  2. echo "Please ensure that you have started PPC-server before change your passphrase."

  3. read -s -p "Enter the old passphrase: " oldpwd
  4. echo ""
  5. read -s -p "Enter the new passphrase: " newpwd

  6. ppcoind walletpassphrasechange "$oldpwd" "$newpwd"
  7. echo ""
  8. echo "The wallet passphrase has changed."

  9. oldpwd="..."
  10. newpwd="..."

  11. echo "$oldpwd $newpwd has Done."

  12. exit 0
复制代码
解锁钱包:unlock.sh (默认解锁15分钟)
  1. #!/bin/bash

  2. echo "Please ensure that you have started PPC-server before entering your passphrase."
  3. echo "You have 15 minutes for unlocked."
  4. read -s -p "Enter Peercoin wallet passphrase: " passphrase
  5. echo ""
  6. ppcoind walletpassphrase "$passphrase" 900
  7. echo "The wallet is unlocked!"

  8. passphrase="..."

  9. echo "The passphrase is empty $passphrase"

  10. exit 0
复制代码

附上4个脚本文件: scripts.zip (2.41 KB, 下载次数: 790)
举报 使用道具
| 回复

共 10 个关于本帖的回复 最后回复于 2014-12-27 13:56

圆点 超级版主 发表于 2014-12-8 23:34:09 | 显示全部楼层
不错,脚本方便很多,打赏2个PPC
交易ID: 8dd06f745be0ce179023ad0df3ca0e71cb708a8f63d26e6452d58822d398b1db
举报 使用道具
bling 高级会员 发表于 2014-12-9 00:05:51 | 显示全部楼层
最新版本peerbox 0.24可以让用户使用全卡容量。
举报 使用道具
zhliner 超级版主 发表于 2014-12-9 09:38:09 | 显示全部楼层
bling 发表于 2014-12-9 00:05
最新版本peerbox 0.24可以让用户使用全卡容量。

不会吧?我特意试过了,还是原来的分区布局……你的不一样么?
举报 使用道具
zhliner 超级版主 发表于 2014-12-9 09:46:06 | 显示全部楼层
本帖最后由 zhliner 于 2014-12-9 10:03 编辑
圆点 发表于 2014-12-8 23:34
不错,脚本方便很多,打赏2个PPC
交易ID: 8dd06f745be0ce179023ad0df3ca0e71cb708a8f63d26e6452d58822d398 ...

谢谢圆点,哈哈!

举报 使用道具
bling 高级会员 发表于 2014-12-9 20:55:37 | 显示全部楼层
zhliner 发表于 2014-12-9 09:38
不会吧?我特意试过了,还是原来的分区布局……你的不一样么?

你说的对。是我弄错了,这里说现在没有这功能,也没计划特别提供工具(但 有别的工具自己弄) http://www.peercointalk.org/inde ... 2.msg34031#msg34031
举报 使用道具
bling 高级会员 发表于 2014-12-9 22:34:50 | 显示全部楼层
你的peerbox卡多大容量?参加投票 http://www.peercointalk.org/index.php?topic=3667.0
举报 使用道具
zhliner 超级版主 发表于 2014-12-10 01:47:33 | 显示全部楼层
bling 发表于 2014-12-9 22:34
你的peerbox卡多大容量?参加投票 http://www.peercointalk.org/index.php?topic=3667.0

16G
按最后一张图改一下,其实也容易。我的Peerbox运行了几天了,蛮稳定的
举报 使用道具
zhliner 超级版主 发表于 2014-12-27 12:28:27 | 显示全部楼层
补充:
如果要用树莓派做节点服务器,你可能需要它完全自动化运行,即需要应付异常断电的情况。目前v0.23版Peerbox中的ppcoind配置有点小问题,如果断电后ppcoind没法正常启动(较长时间运行后),你可以试试删除ppcoind的一个启动参数:

sudo vi /etc/conf.d/ppcoind.conf
# ARGS="-checkblocks=1000"   // 注释掉该行

这个参数是Peerbox中的配置,注释掉后ppcoind采用的默认值是2500。(Peerbox的作者可能是想快一点开启ppcoind)
这个参数是配置每次ppcoind启动后,重新扫描校验的最近的区块数(如果有区块数据损坏会重新从网上同步),突然断电可能损坏本地存储的最近区块——与存储时机有关。

经简单测试,修改后直接断电重启后ppcoind工作正常。
PS:删除整个ppcoind的区块数据(/var/lib/ppcoind/* 注意别把钱包删了)也可以重启正常。

查看ppcoind的启动参数:ps aux | grep ppcoind
启动配置:/etc/systemd/system/multi-user.target.wants/ppcoind.service












举报 使用道具
圆点 超级版主 发表于 2014-12-27 13:56:15 | 显示全部楼层
我要等冷挖矿出来之后再更新,现在用着0.22版本。
举报 使用道具
圆点 超级版主 发表于 2014-12-27 13:56:27 | 显示全部楼层
我要等冷挖矿出来之后再更新,现在用着0.22版本。
举报 使用道具
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|点点币中国社区 ( 粤ICP备14088878号-2

GMT+8, 2018-4-22 16:46 , Processed in 0.125716 second(s), 27 queries .