0%

chia | 挖矿

这可能是全网最全的 chia 挖矿教程了,不断更新!!!

这里我将给出两种挖矿方式,一个是自建节点,另一个通过矿池挖矿。


参考资料



基础概念


无论哪种方式,我们都需要自己下载钱包和挖矿软件。

根据相应的平台选择相应的安装软件,在这里我使用的是 win10 「理论上来说,linuxwin10 更优,各方面的」。

chiaPOC 挖矿方式,所以,其制约挖矿速率的瓶颈是磁盘的容量和磁盘的读写速度。和 GPU 是无关的,可以配置一个较好的 CPU ,但,其实,对 CPU 的要求也不是很高,因为,该项目是可以用树莓派挖的。尽管可以用树莓派挖,但是,我依然推荐一个比较好的多核CPU电脑进行挖矿,因为,寻找答案,毕竟要扫描硬盘。

硬件啥的都很便宜,关键是 P 盘太慢了,如果要 P 100 T ,没有好路子,或者路子稍微差一点,都得 3 个月。

助记词

chia 钱包地址,分为助记词「24 个」和私钥,一般记好助记词就行,这里假设你注册了一个钱包地址,然后,我们会得到下面的界面。

语言可以选择中文,这个图我是在网上找的。

我们下好钱包后,会自动同步块的高度,也就是图中的 Status 。同步好之后会变成绿色。

想要挖矿必须进行一个步骤,播种。

另外,我得到了一个非常重要的信息。

  • P 盘不需要联网!
  • P 盘不需要联网!
  • P 盘不需要联网!

自创节点挖矿


播种

播种在 poc 中又叫做P盘,因为 poc 机制并不是实时计算数学问题,而是在磁盘中渲染问题和答案,然后遇到什么问题,就会在磁盘中寻找。

点击创建 P 盘任务。

在上面图中,我们可以选择不同规格的文件大小。

根据官方文档「下面的已经过期,最新版的钱包已经可以把 TMP 压缩的更小了」。

K-size Temp. Size Final Size
K=32 332 GiB (356.5 GB) 101.4 GiB (108.9 GB)
K=33 589 GiB (632.4 GB) 208.8 GiB (224.2 GB)
K=34 1177 GiB (1263.8 GB) 429.8 GiB (461.5 GB)
K=35 2355 GiB (2528.7 GB) 884.1 GiB (949.3 GB)

看钱包的两个空间的选择。

  • Temporary Directory
    • 对应临时文件存放区域
  • Final Directory
    • 对应最终文件存放区域

之所以会有临时文件存放区和最终文件存放区,是因为,我们从按照规则渲染各种分片的小文件「未压缩」,以 K=32 为例,各种小文件加在一起是 332GB ,因为,渲染的时候,需要读写磁盘,所以,在这里建议使用 SSD 「不使用 SSD 也没关系,但是,不使用的话,估计要 P 一天,使用的话,可能 12 小时就好了」。所以,存放临时文件的存储至少需要 365 GB 「在网上,有人测试,最好临时文件在 450 GB 以上,如果恰好等于 365 GB 可能会导致P盘失败」。当临时文件渲染好后,会进行压缩,变成 108.9 GB ,然后放在 Final Directory 文件夹中,然后把临时存放文件夹中的内容删除。

一般建议使用 K = 32 P 盘。但是,具体情况还是要自己分析一下。

下面,我将回答几个可能存在的疑问。

  1. 存放文件夹有什么要求吗?

存放文件的地方仅仅需要硬盘足够就行了,你可以都放在一个磁盘里,也可以放在不同的磁盘里,最好单独建文件,比如,我下面的例子。

  • Temporary Directory
    • 对应 E:/plot
  • Final Directory
    • 对应 H:/plot
  1. P 过的盘还能用吗?

P 过的盘和平时的硬盘一样,你可以渲染的内容当成一个视频,硬盘可以正常使用,如果不想挖了,就删掉就好了。

  1. P 盘的过程中可以停止吗?

不可以停止,要一直保持渲染,可以断网,但是不可以断电或者停止。

  1. 渲染好的文件,如果想要移植到另外一个电脑,或者,直接复制几份可以吗?

每个 p盘 文件都是不同的,因此复制粘贴 p盘 文件是无法增加算力的。但是,可以换位置,即,你可以把 E 盘的最终文件移植到 D 盘,也可以换电脑。前提是,你使用同一个钱包 P 的

p 盘是很慢的,可以多个电脑同时 P ,最后,再进行组合。但是, p 的时候要用同一个钱包地址。

  1. 对磁盘的要求是什么?

因为要不断的读取磁盘的内容,所以,对磁盘的损伤很大,官方建议 SSD 作为临时文件存放地方,外界机械作为最终文件存放地方。当然,你也可以都选择外接机械,就是 P 盘的时候很慢。

SSD 和 机械的差别非常大,建议买一个至少 2TSSD 缓存盘

  1. 对电脑有要求吗?

尽可能使用高性能的电脑,因为在 P 盘时候,涉及 CPU、 内存等,高性能的 P 的更快,低端电脑 P 的话,很容易出现各种状况。

OK,让我们再次回到上面的图中的参数。

第二个选项,Choose Number of Plots 这里是选择 P 盘的文件数。

比如,你如果选择 3 ,则,会同时 P 三个盘,也就是,假设你都要放在一个磁盘里,当 K = 32 的时候,你这个磁盘至少需要 332 * 3 GB。所以,可以根据自身情况的不同来进行选择,但是,如果磁盘空间不够,还要强行 P 盘,只能失败了。

这里给出两个例子。

我的 SSD400 GB ,外接机械有 1T 该怎么 P 盘

  1. SSD 存储临时文件,外接存储最终文件。如果,不着急,可以 SSD 每次 P 一个盘, P 完之后,再 P 另外一个。

  2. 极限操作,SSD 和 外界同时 P 盘,然后在 外界磁盘中存储最终文件。

假设,我空间不足了,但是,还在 P 盘怎么办?

上面这张图,是已经 P 好的磁盘,如果没有 P 好,想要删除,可以在 action 下,选择那一行的三个点,进行删除。「有的电脑点击删除但是看本地没有删除,这是电脑问题,正常的是,点击删除后,本地的文件也没了,我被那个不正常的电脑坑了 1.4T 的文件。。。千万要注意」

另外,你要是同时 P 的时候撞车了,导致 P 的太多,没有存储空间,可以根据钱包的信息,选择其中一个缓存文件,把那一系列的都删掉就可以了。

当你 P 好盘之后,就会自动开启挖矿模式。

我测试了一个 101 GBP 盘,但是,现在这个要挖出一个块需要 1 年,也就是永远不可能挖出,所以,如果,自己的磁盘量很少,建议对接矿池。

另外,不要妄想矿池和钱包指向同一文件进行双挖,如果这样的话,最终,某一方会被关掉,要是出现损失就得不偿失了。

另外,我发现了一个奇怪的现象。

我在不同的电脑使用同一私钥的钱包地址 P 盘后,竟然,没有把算力和在一起,但是,在官方文档中,我看见,是可以进行不同机器共挖的,这个我再继续研究,先贴一下官方文档。

ps: 上面文档已经给出了明确的集群挖矿教程,但是,目前,我的策略是,把所有文件集中到一个电脑上,所以,暂时,没有做集群挖矿的测试,等有机会再更新吧!

另外,这里给出大规模并行 P 盘的参数「来自QQ社群」。

  • CPU 线程数 >= P 盘任务数 * 2 「主频越高线程越多越快」
  • 内存大小 >= p 盘任务数 * 4.5 G
  • NVME 固态硬盘 >= P 盘任务数 * 332G 「读写速度越大越快」

要加快 P 盘速度可以堆配置增加同时 P 盘任务数或者用多台电脑。

  1. 钱包队列不管用?

比如,我想同时开启 4 个并发 P 盘,每一个并发有 10 个任务,但是,一般而言,做的时候,会出现,虽然你 4 P 但是,最后你只是 1P

这是因为,在钱包中,默认把「队列名」一样的认为是一个队列。

所以,想要多任务并发 P ,可以选择修改不同的队列名字。

我建议你,不使用「并发拓荒」而是用多队列实现,因为,多队列,可以选择的单个队列的顺序任务数。

  1. 如何摆脱 IO 转移瓶颈?

P 盘进行到第 4 步最终后,会把文件从 SSD 移动到 HDD

所以,假设你所有的队列都是一起,那最后转移的时候,直接 IO wait 爆炸。

这里建议,每一个队列等待 20 分钟开启。

也就是,你先开启了一个队列,然后,20 分钟后,开启另外一个队列,以此类推。

当然,具体情况还是要具体分析,假设,你的 IO 接口很多,那当然可以同一时间并发 P 了,这个看你自己电脑啥配置了。

上面的都是我在 win 下的操作,然后,我在着重说一下 ubuntu

另外,我再增加一些细节。

  1. SSD 的借口如何选择?

一般而言,SSD 有两种,一个是 sata 一个是 nvme「m2」

这里推荐 nvme ,这个协议下,写入量是 sata 的几倍,效率非常快。

但是,有一个非常重要的点,就是,你的电脑主板是否有 nvme 的接口,假设,你的 SSD 都是外接的,那么,无论是那种接口都一个样子,其瓶颈受制于外接的接口。

所以,先确定,你的电脑主板是否有 nvme 的接口,或者,可不可以插 nvme 的转接口,如果,都没有,那就买 sata 吧。

  1. 我该囤积硬盘吗?

对于普通人而言,是完全没有必要囤积的,只要你 P 的时候,就会发现,P 盘的效率才是影响你收益的关键。

假设,你重金买了 40THDD ,但是,你一天只能 P 1 T ,所以,一个月之后,你才能 P 满,可能到时候,硬盘价格都回落了,所以,我更建议,稍微溢出一点你的 P 盘效率,买 1 个星期的 P 盘量就好了。

另外,HDD 一块最好是 8T 及以上。

  1. SSD 的大小我该如何选择?需要选择好牌子吗?

P 盘SSD 的损害是非常大的,这里建议买一些中等价位的 SSD 就好了,另外, SSD 并不是越大越好,这个要和你的电脑资源进行匹配。

一块 2 T 的并不会比 2块 1 T 的更好,因为,会有一个文件转移,从 SSD 转移到 HDD 中,这个是 IO 的瓶颈所在。那这是推荐你买 1T 吗?并不是!还是要根据实际选择,因为 IO 瓶颈可以错峰 P 盘来进行规避,上面已说明。

  1. 我有很多硬盘,但是,外接接口很小怎么办?

淘宝搜一下磁盘柜,很便宜。另外,SSD「sata」 可能不能直接插入磁盘柜,所以,你还要买一个转换盘,比如2.5 寸转3.5 寸的硬盘转换盒

当然,这个只是针对外界,SSDHDD 都外接。

ubuntu

  1. ubuntu 下的钱包使用?

在官网上,你可以看到,ubutnu 下需要执行很多命令,但是,在实际使用中,并不需要。

github 上下载 linux 软件,然后安装。打开后,其会自己同步高度「这个可能很慢,因为,它需要查找附近的节点,所以不要着急」,和 win 是一摸一样的。


矿池对接


hpool

windows

ps: 我用了 4 天进行了大规模的集测,几乎把可能踩到的坑都踩了一遍,写在这里供大家参考。

所谓的矿池就是大锅饭原理,大家把自己的算力和在一起,然后一起挖,由于和在一起后,在全网的算力占比中更大,所以,更加容易暴块,得到的奖励扣除矿池的佣金后,按照比例返回给个人。

我其实并不想用 hpool ,因为,hpool 要收 7% 的费用,我觉得实在是太狠了,但是,自己挖,是不可能挖出来的,所以,我决定对接矿池。

我不建议大户,比如 2P 以上的人,对接矿池,手续费太狠了。

首先我们需要知道两个概念

  • 我们只需要利用钱包注册一个地址,不需要搞全节点运营
  • 钱包和矿池并不能共存,原因下面说

这里假设你已经注册好一个钱包地址了。

另外,这里贴一下如何使用矿池软件。矿池给 chia 的软件共分为三个。

  • 签名软件
  • P 盘软件
  • 矿池软件

签名软件

下载下来的签名压缩包,含有签名软件和P 盘软件两个。这里先说一下签名软件。

签名软件是把 24 个助记词给进行加密,然后和矿池进行绑定。具体的可以看下面的教程。

这里认为你已经成功绑定好了矿池。

P 盘软件

矿池是对 chia 钱包的 P 盘软件进行了封装,P 好的文件和钱包文件都是一样的,可以互通。

另外,使用钱包 P 盘,然后矿池挖矿会导致矿池被杀死。

具体的原因是,你挖矿指向的目录和你钱包 P 盘的的最终文件目录可能是相同的,导致,钱包的检测程序认为你作弊,进行双挖,把你 kill 掉了。另外,假设使用矿池的话,根本没有必要使用钱包 P 盘,矿池提供的 P 盘批处理文件,效率差不多,而且不出错。

上面的教程已经说的非常清楚了。可能有的人,对如何修改参数还不了解,这里给大家提供一下我修改的参数。「仅作参考」

chia-plotter-windows-amd64 -action plotting -plotting-fpk 0xaec3123a****  -plotting-ppk 0x90c65f**** -r 10 -b 7048 -plotting-n 10 -t D:\ -d E:\
pause

注意是两行奥!

另外,这里面 P 盘是顺序执行,比如上面的 plotting-n 等于 10 ,就是顺序 P 10 个。

ps: 再次更新,其实,参数用默认的就好了,修改线程,内存大小,并不会有明显提升,但是,在资源充足下,多 P 是加快速度的。

矿池软件

虽然,官方提供了 GUI 界面,不需要自己在配置,但是,有一个关键的地方是,配置文件依然需要我们进行 api key 的绑定,具体参考下面的教程。

下面再回答一些可能会出现的问题。

  1. 使用矿池软件需要 P 盘吗?

关于 P 盘,建议使用矿池提供的 P 盘工具。

  1. 官方文档中,扫描新文件是什么意思?

这个并不是自己渲染 P 盘文件,而是,你渲染好的文件,它可以进行扫描,找到刚做好的 P 盘文件。然后,对接矿池。

  1. 扫盘路径选择是什么?

这个结合第二个问题就好理解了,就是要矿池扫描哪个文件夹,看看有没有刚刚 P 好的文件。「注意奥,说的都是最终文件」。

  1. 101GP 盘流程?

我使用 SSD 的磁盘,机器性能也算超过 90% 的电脑了,P 一个 101G 的文件大概需要 12 小时

其中,一共有 4 步。「这里我并没有深究每一步的作用,只是把每一个执行的过程简单说一下,只针对 K = 32

  • 渲染 tmp 文件 table = 7
  • 类似合并 tmp
  • 可能也是合并 table = 7
  • 合并为一个文件
  1. 如何多并发 P 盘

复制几份 P 盘软件,运行即可,但是一定要注意硬件指标,比如,磁盘容量、CPU、内存等。

虽然,官方说需要 339G 的缓存,但是,在我观察的时候,至少需要准备 400G 的缓存。

  1. 我是用矿池挖矿,还需要建全节点吗?

不需要!

  1. 如何规避双挖,三挖?

假设你用钱包进行 P 盘,矿池进行扫盘,那你有可能会出现双挖的情况。

就是你的钱包和矿池都在扫描,这样的话,假设你的钱包爆块了,矿池那边是没有收益的,所以,矿池是不会允许这个情况存在的,当,矿池程序检测到双挖的时候,会自己把矿池 kill 掉。

那么,如何规避「老实说,我在 ubuntu 下用这个方法,没有成功,不知道 win 下怎么表现」

把下面 「排出最终目录」勾选。

如果,最后还是钱包出现了双挖,可以在钱包的「农田」界面右上角三个点,去除扫描路径。

如图上删除就行,但是,有的时候,钱包还是会自动添加上,起码,我在 ubuntu 下是这样的,win 我还没测试,不知道,后期官方会不会修复。

目前,hpool 对于潜在双挖采取的是 kill 掉矿池的扫描程序,对于恶意双挖,甚至三挖,采取封号处理。

潜在双挖就是,上面表现,虽然你勾选了,但是,最后钱包还是出现了双挖,恶意双挖,是你把文件映射到其他地方,造成了钱包和矿池是分开的,这样,矿池第一时间检测不出来,但是,一旦检测出来就是封号处理。

三挖,是钱包、多个矿池「UUpool、Hpool」同时挖,这个一旦检测也是封号处理。

ubuntu

截止到 4 月 28 号的时候,hpoolubuntu P 盘有非常多坑。

请注意一下时间,可能新版已经更修复了。

  1. 没有跟进钱包的更新

钱包的缓存文件已经大幅度缩小了,但是,矿池的 ubuntu 系统并没有跟进,询问客服得知,其主要更新方向是 win 系统,所以,ubuntu 系统有非常多的坑。

  1. readme.md 错误?

下载下来的压缩包的指导文件,内容是错误的,可以参考 win 进行更改。

  1. ubuntu 下命令行如何使用?

当你把 P 盘软件下载下来之后,应该会有下面的文件

  • chia-plotter-linux-amd64
  • ProofOfSpace
  • README_zh.txt

其中,chia-plotter-linux-amd64 就是执行命令的文件。

通过看 README_zh.txt 得知有三种执行方式,另外,我下载这个版本的 README 有问题,说fpk ppk 啥的不需要更改,纯粹的扯淡。不更改,你免费给别人打工。「不知道后面的版本修复了没」

三种执行方式是

  • plotting 「P 图指令」
  • keys 「生成 ppk 和 fpk 等」
  • sign 「不用管」

另外,在 README 中,hpool 把 24位助记词叫做脑密码「后续可能更改」,真是,奇怪的起名方式。

生成 ppk fpk

进入到相应的目录下,执行

./chia-plotter-linux-amd64 -action keys -keys-mnemonic 后面加24位助记词,每个单词用空格隔开

回车,然后把该记的都记下来,和 win 操作一样。

无论什么系统,最后加密出来的内容和指纹都是一样的。

P 盘,主要的命令是

./chia-plotter-linux-amd64 -action keys plotting *** 「和 win 一样,把该填写的都写上」

根据我查找的资料表示,没有必要修改内存大小,线程之类的。

  1. 如何矿池挖矿?

解压之后,会出现

  • config.yaml
  • hpool-miner-chia

我们只需要配置 config.yaml 就好了。

这里我贴一下我的配置。

path:
- /data/pool1
- /data/pool2
minerName: ubuntu01
apikey: ***

后面就不写了,诀窍就是,: 后面有空格。

  1. ubuntu 会比 win 高吗?

我是看群里人说,ubuntuwin 的效率高 10%,所以,换了系统。

根据我实际的推测来看,ubuntu 并不会比 winP 盘效率高,甚至,还不如 win

可能有以下几点的原因。

  • 版本问题「winubuntu P 盘不是一个版本」
  • 资源利用率不行,我在 winCPU 的使用率可以达到 80% 以上,但是,在 ubuntu 中只有 30% - 50%,目前还不知道什么原因

所以,就目前来看,我更推荐使用 win

  1. 钱包和矿池冲突

因为 ubuntu 下的矿池并没有跟进钱包的更新,所以,我打算用钱包进行 P 图

使用钱包的过程中,我每次都排出最终目录,但是,在 P 的过程中,钱包还是会自动把目录加进来,导致,触发监控程序,把矿池的进程杀死。所以,目前,我在 ubuntu 下,不得不进行 solo 了。

  1. 对接矿池安全吗?

虽然,HPOOL 会进行加密,但是,你的币毕竟在别人的数据库里。

但是,如果你不是大户,你自己 P 盘,即便是 100T 可能也很难出块,这个时候,安不安全,又能怎么样?你又没有币,所以,见仁见智吧。

uupool

这个是除了 HPool 另一个 chia 的矿池。

它的收益比 hpool 高,但是,我并不建议对接。

因为,它是一个山寨矿池,正版的,uupool 的网址是

所以,见仁见智吧。不过,根据群里的反应来看,uupoolhpool 的贡献计算方式不一样。这个我没有深究,先这样吧。

ps:我在其他地方看见了关于 chia p 盘的配置文章,在这里贴一下。


开源生态


风险提示,下面的项目我只是收集,各种项目肯定具备一定的风险,请自己把握。

请我喝杯咖啡吧~