在挖矿行业,许多人满怀憧憬,然而,要想取得成就并非易事。许多人总是幻想,若是换个环境或许就能成功,然而,一次次的挫折实在让人心灰意冷。这正是矿工们面临的一大难题,也是我讲述这个故事的原因所在。

初涉挖矿的决心

初入挖矿行业时,我对未来的收益充满憧憬。得知只要辛勤工作,利用脚本可以操控众多机器进行挖矿,我便毫不犹豫地购买了设备,立志大干一番。然而,购买设备时并未仔细挑选,只看到GPU便购买了,结果发现无法识别。类似因购买硬件不够谨慎而出现问题的情况,很多人都有过。那时我懊悔不已,若当时能仔细查阅资料,购买适合挖矿的升级线缆和主板等硬件就好了。

在这个阶段,我完全不清楚显卡和主板连接的数量在普通使用和挖矿模式间差异如此之大。通常情况下,显卡与主板连接数量是1到2个,但挖矿时则需要非常谨慎,会连接4到6个显卡,这并非一般用法。因此,即便我购买的主板看起来不错,也无法确保它能识别最多6块显卡。比如H270主板,我尝试使用时,最多只能识别出3个。

不断尝试主板

为了确保设备能顺畅工作,我尝试了多种主板。我用了转接线来适配挖矿卡槽,确保能识别4到5块显卡。尽管有所进步,但与预期仍有距离。这期间,我投入了大量时间和精力,每次更换主板都像是在进行一场未知的赌局。接下来的几天,我不断试验,发现只有将所有GPU连接妥当,并在BIOS中重启,才能成功识别出6个。然而,这种方法有时也会出现不稳定的情况。这提醒我,在选择扩展插槽时必须格外小心,否则之前的努力可能徒劳无功。

我深感主板选择的重要性远超预期,当我满怀期待地开始挖矿之旅时,主板这类硬件就如同房子的根基,一旦不稳,整个挖矿计划就可能随时崩溃。不少与我同期挖矿的朋友都曾有过类似的遭遇,在未充分了解硬件特性之前,我们都曾走过不少弯路。

操作系统安装

$ sudo apt-get update -y
$ sudo apt-get install openssh-server

在挖矿过程中,安装操作系统是关键步骤之一。必须将iso文件复制到usb或类似设备,再通过该设备安装操作系统。看似简单的操作,实则蕴含诸多技巧。若操作不当,挖矿活动将无法顺利进行。起初,我常在此处犯错,要么是文件复制失败,要么是usb启动时出现问题。在Mac上制作安装USB盘更为繁琐,幸好Qiita提供了详尽信息,这才使我得以顺利完成。若非这些资料,许多人可能要在这一基础步骤上浪费许多时间。

安装SSH服务器同样重要。有了SSH,我们就能在其他设备,比如mac上操作SSH,这相当方便,因为可以轻松复制粘贴指令。我利用SSH连接到矿机,这样就能在本地电脑上完成许多挖矿任务。这个过程设置起来很神奇,就像是将散落的小点串联成线,让挖矿流程连贯起来。

$ sudo apt-get install -y git screen vim unzip python
$ vim ~/.vimrc
:color desert
set number
$ vim ~/.bashrc
force_color_prompt=yes                             # delete comment & enable setting
LS_COLORS=$LS_COLORS:'di=0;36:' ; export LS_COLORS #add line at the end

安装公用设施

$ sudo apt-get install language-pack-ja-base language-pack-ja
$ sudo update-locale LANG=ja_JP.UTF-8
$ vim ~/.bashrc
# add the following lines at the end of file.
case $TERM in
  linux)LANG=C ;;
  *)LANG=ja_JP.UTF-8 ;;
esac

公共设施的布置是采矿前准备工作中不可或缺的一环。比如,需正确设置本地语言,需将SSH配置为仅支持密钥登录。在安装AMD显卡驱动时,还需查阅相关资料,否则挖矿软件运行时可能会出现兼容性问题。许多人都是在遇到问题后才开始重视这些准备工作,我亦是如此。记得上次挖矿时,显卡突然出现动力不足或效率降低的问题,后来才意识到是显卡驱动未正确安装。

$ sudo vim /etc/ssh/sshd_config
PasswordAuthentication no # set PasswordAuthentication no
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
$ touch ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys
$ vim ~/.ssh/authorized_keys # insert my mac public key.
$ cat ~/.ssh/id_rsa.pub | pbcopy # 将本地 mac 公钥复制到剪贴板 -> 在 authorized_keys 中添加一行

每个小设施的安装都可能对挖矿的整体效果产生影响,就好比链条上的每一环,相互连接,一旦某个环节出现问题,整条链条可能就会断裂。因此,我们必须关注每一个细节,否则不仅会浪费宝贵的时间,还可能损失大量的硬件投资。

$ sudo apt dist-upgrade
# 下载 amdgpu-pro-17.10-429170.tar.xz 刻录到 USB 并移动
$ ls /dev/sd* # 检查 usb 的位置 -> 这次是 sdb1
$ sudo mount -t vfat /dev/sdb1 /media
$ mkdir ~/drivers
$ sudo cp /media/amdgpu-pro-17.10-429170.tar.xz ~/drivers/
$ sudo chown `whoami`:`whoami` ~/drivers/amdgpu-pro-17.10-429170.tar.xz
$ cd ~/drivers
$ tar -Jxvf amdgpu-pro-17.10-429170.tar.xz
$ cd amdgpu-pro-17.10-429170
$ ./amdgpu-pro-install -y
$ sudo shutdown -r now
$ sudo usermod -a -G video $LOGNAME
$ logout
$ groups # check if belongs to video group
$ dpkg -l amdgpu-pro
# check if version 17.10-429170 is installed

安装挖矿软件

$ mkdir ~/workspace
$ cd ~/workspace
$ wget -O Claymore.v9.5.tar.gz https://github.com/nanopool/Claymore-Dual-Miner/releases/download/v9.5/Claymore.s.Dual.Ethereum.Decred_Siacoin_Lbry_Pascal.AMD.NVIDIA.GPU.Miner.v9.5.-.LINUX.tar.gz
$ mkdir Claymore.v9.5
$ tar xvzf Claymore.v9.5.tar.gz -C ./Claymore.v9.5

关于挖矿软件的安装,各地有着各自的安装规范。在我国,需依照当地规定进行操作。这一点,许多资深挖矿者都曾特别提醒。在挖矿环节,有许多关键参数需调整。比如,在启动前需安装特定程序,否则可能会出现故障。以.v9.5安装目录为例,需创建执行文件并确保其正常运行,可借助一些简便的命令工具。诸如 -wd 0 \ -eres 4 \ -gser 2这类参数设置均有其必要性。某些文件,如“.txt”“设置.txt”等,使用时也能提升安全性。另外,若不挖帕斯卡尔币,则无需使用 -d*这一参数。

这些挖矿软件的参数设置如同密码,只有准确设置,才能开启挖矿宝藏,获得收益。许多新手未能意识到这一点,他们只是随意安装软件,最终因为设置不当,软件无法正常运作。

$ sudo apt-get install libcurl3

查看挖矿进度

./ethdcrminer64: error while loading shared libraries: libcurl.so.4: cannot open shared object file: No such file or directory

一切就绪后,便可以着手查看挖矿的进展。在矿池里查找个人地址,便能看到挖矿的成效。这是矿工们最为兴奋的时刻,目睹自己的付出逐渐变为现实。然而,有时这个成果会让人感到沮丧,因为挖矿受诸多因素制约。比如硬件性能、软件配置等。尽管如此,这一过程是每位矿工必经的。注视着不断变化的进度数字,就像见证自己播种的庄稼逐渐长大,既期待又担忧。

采矿之路充满困难,你是否正面临挑战,或者有意愿踏入这一行业?

$ vim start.sh
#!/bin/sh
# export GPU_FORCE_64BIT_PTR=0 # must be comment out for amdgpu-pro
export GPU_MAX_HEAP_SIZE=100
export GPU_USE_SYNC_OBJECTS=1
export GPU_MAX_ALLOC_PERCENT=100
export GPU_SINGLE_ALLOC_PERCENT=100
export ETH_ADDR=自己的网络地址
export ETH_WORKER_NAME=任意工人名称(如 rig01)
export PASC_ADDR=自己的 PASC 地址。
export PASC_WORKER_NAME=任意工人名称(如 rig01)
./ethdcrminer64 \
  -epool asia1.ethermine.org:4444 \
  -ewal $ETH_ADDR.$ETH_WORKER_NAME \
  -epsw x \
  -dpool stratum+tcp://pasc-asia1.nanopool.org:15555 \
  -dwal $PASC_ADDR.$PASC_WORKER_NAME \
  -dpsw x \
  -dcoin pasc \
  -dcri 10 \
  -mode 0 \
  -ftime 10 \
  -etha 2 \
  -allpools 1 \
  -wd 0 \
  -eres 4 \
  -gser 2