Chia实践(二):安装Chia及使用cli
  WcMlrurH7Ysw 2023年11月13日 21 0

前言

某些价值上可能难以认同,例如Chia官方宣称的本该被销毁的硬盘用于耕种是有意义的。硬盘被销毁了,不再产生电力浪费,而继续运行还将持续,虽然相对于其他方式,已经好很多了。对于Chia,本身至少还是在持续进行中的。本文演示Chia在CentOS 7 Linux 操作系统部署,在类似的操作系统都是可以参考的。


二进制部署

#!/bin/bash
wget https://download.chia.net/latest/x86_64-Redhat-cli -O chia.rpm && yum install chia.rpm -y && rm -f chia.rpm && echo "ok"

解释:&&用于当上一步正常结束,才能运行下一步。因此,只有当正常下载rpm包,正常安装,正常删除下载的文件,才能最终输出 ok 字样。

Chia在Linux的部署一般就是这么简单。在RPM系可以通过上述命令进行,而deb系可以通过apt方式进行。安装结束后,程序本身无需额外的依赖即可直接运行。

#!/bin/bash
if [[ "$HOSTTYPE" =~ ^x86 ]]; then
    wget https://download.chia.net/latest/x86_64-Ubuntu-cli -O chia.deb && dpkg -i chia.deb && rm -f chia.deb && echo 'ok'
else
    wget https://download.chia.net/latest/ARM64-Ubuntu-cli -O chia.deb && dpkg -i chia.deb && rm -f chia.deb && echo 'ok'
fi

对于debian系环境,例如debian\ubuntu之类的操作系统,Chia官方还提供了arm64运行环境的官方包。

在Bash中,我们可以直接通过$HOSTTYPE方式获取当前操作系统的运行环境。例如在常见的x86操作系统,64位的硬件运行64位系统,输出为“x86_64”。

实际上x86 32位运行环境也没有安装异常的问题。

上述安装流程,除了下载可能需要因为国际网络情况,国内由于没有CDN节点因此下载速度可能受到影响,总体后续的安装速度还是可以的。在atom D410处理器的系统上安装也不过寥寥数秒。

为了部署速度、安全性各方面考虑,建议只通过官方的链接获取最新版本。当获取到最新版本之后,如果本地需要部署比较多的数量,可以自己分发。例如自己本地搭建HTTP静态服务器提供文件分发。

上述均为cli部署方式,部署后没有GUI运行页面,只能通过命令行控制台chia调用。如需页面就将上述的下载链接中cli字样替换为gui,即可安装图形化版本。

图形化版本需要本地安装桌面环境,对系统环境具有一定的依赖。大规模部署管理角度,安装cli即可。

如果需要在非官方支持的运行环境运行,可以进行手工部署,也可以获取上述二进制包的文件,解压后直接提取二进制文件使用。尝试了一些比较特殊的环境,例如aarch64环境的CentOS 7 ,使用arm64 deb系安装包提取的chia文件,也没有出现异常问题。而正常的类似armbian,使用deb安装方式就更没有问题了。


使用

安装完成后,chia version命令后,就可以查看部署的版本。目前部署的是1.8.2版本,返回的也就是这个值。

首次运行,需要chia init命令。通过这个方式在当前用户初始化chia软件环境。可以在root用户下进行,也可以用普通用户进行这个过程。

如果是作为收割机使用,只需要传输ca文件夹以及修改/root/.chia/mainnet/config/config.yaml文件相关的信息,就可以正常开始运行了。

如果是原版图,只需要修改文件中的部分内容,然后就可以开始运行了。

  1. 替换ca文件夹为运行全节点的计算机的ca文件夹的内容
  2. 修改host: self_hostname,将self_hostname部分修改为对应的IP地址。
  1. 可以为域名
  2. 如果有必要,可以修改下方的port服务器端口,全节点是通过互联网端口映射被收割机访问
  3. 本身有安全措施,可以通过互联网直接传输,但是建议仍然虚拟内网的方式
  4. 一台计算机可以运行多个收割,8448端口需要错开
  1. 修改plot_directories:,将[]去掉后回车,增加路径,一行一条,或者chia plots add的方式增加路径
  2. 如果文件在提供的文件夹的子目录中,需要将recursive_plot_scan: False修改为true
  1. 例如可以将硬盘挂载至/data/sdxxx,只添加/data目录,即可自动处理全部挂载至/data的硬盘文件了。
  1. 如果计算机性能比较强劲,例如X86环境,配合直通卡或者直接连接的少量硬盘,可以适当增加num_threads,增加后能够有效的加快速度。反之如果性能较差例如RK3399,通过USB HUB连接了2PB的硬盘,正常参数可能导致扫盘响应较慢,实际上也不影响有效值。
  2. 其他优化可以看描述。实际生产环境中我还是修改了不少地方才能实现100PB级别2个月平均爆块率相当于全网平均130%的。部分玩家每台机器都直接使用Windows全节点进行收割,挂载方式也不合理,导致硬盘出现休眠等问题,产出效率问题很明显就与这些有关。



harvester:
  # The harvester server (if run) will run on this port
  port: 8448
  farmer_peer:
    host: *self_hostname
    port: 8447

  # If True, starts an RPC server at the following port
  start_rpc_server: True
  rpc_port: 8560
  num_threads: 30
  plots_refresh_parameter:
    interval_seconds: 120 # The interval in seconds to refresh the plot file manager
    retry_invalid_seconds: 1200 # How long to wait before re-trying plots which failed to load
    batch_size: 300 # How many plot files the harvester processes before it waits batch_sleep_milliseconds
    batch_sleep_milliseconds: 1 # Milliseconds the harvester sleeps between batch processing

  # If True use parallel reads in chiapos
  parallel_read: True

  logging: *logging
  network_overrides: *network_overrides
  selected_network: *selected_network

  # Plots are searched for in the following directories
  plot_directories: []
  recursive_plot_scan: False # If True the harvester scans plots recursively in the provided directories.

  ssl:
    private_crt: "config/ssl/harvester/private_harvester.crt"
    private_key: "config/ssl/harvester/private_harvester.key"

  private_ssl_ca:
    crt: "config/ssl/ca/private_ca.crt"
    key: "config/ssl/ca/private_ca.key"

  chia_ssl_ca:
    crt: "config/ssl/ca/chia_ca.crt"
    key: "config/ssl/ca/chia_ca.key"



【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月13日 0

暂无评论

推荐阅读
WcMlrurH7Ysw