亲爱的矿工们,我很高兴和大家宣布Zilminer(ethminer 的分叉)正式开发了。Zilminer允许你在Ubuntu和Windows两个系统下都可以远程挖掘Zilliqa。这款Zilminer支持所有ethminer的当前功能和一些新的Zilliqa的特定功能。Zilminer为您挖掘Zilliqa时提供了一定的便利。当处在Zilliqa PoW窗口时,Zilminer会自动启动您的GPU设备来进行GPU挖掘。当CPU节点正在运行pBFT共识算法时,Zilminer暂停您GPU设备的运程。
Zilminer v0.1.16:Beat
此版本的Zilminer允许矿工在代理服务器的帮助下通过Getwork协议对1个CPU节点或CPU cluster进行代理挖掘。
· 如想将许多数1GPU设备链接上1个CPU节点。请参阅选项1。
· 如想将许多数GPU设备链接上多数CPU节点(CPU cluster)。请参阅选项2。
选项1:将许多GPU设备链接上1个CPU节点
设置架构如以下图所示,两方之间的所有通信都是通过JSON-RPC进行。
· Zilliqa节点将在1个CPU节点上运行pBFT的程序来获取奖励。
· GPU设备将在独立的GPU集群上运行Zilminer来进行PoW挖掘,并直接向CPU节点提供PoW解决方案。
要将多数GPU设备连接到1个CPU节点,您需要执行以下步骤:
步骤1.在所有GPU设备上下载Zilminer客户端
· 对于Windows:下载地址
https://github.com/DurianStallSingapore/ZILMiner/releases
· 对于Ubuntu:下载地址
https://github.com/DurianStallSingapore/ZILMiner/releases
步骤2.在CPU节点上下载并设置Zilliqa客户端
注意:Zilliqa客户端仅支持Ubuntu 16.04 OS版本。
您可以按照wiki挖矿指南(https://github.com/Zilliqa/Zilliqa/wiki/Mining)在docker或本地build环境中来设置Zilliqa客户端。但是,在启动之前,您必须在配置文件中编辑constants.xml文件的以下参数:
·设置 GETWORK_SERVER_MINE 值为 true.
·设置 GETWORK_SERVER_PORT 为您将使用的GetWork的端口。(默认是 4202)
·将其他挖掘参数设置为 false.
<CUDA_GPU_MINE>false</CUDA_GPU_MINE>
<FULL_DATASET_MINE>false</FULL_DATASET_MINE>
<OPENCL_GPU_MINE>false</OPENCL_GPU_MINE>
<REMOTE_MINE>false</REMOTE_MINE>
执行此操作后,您需要使用以下命令查找你当前的IP地址并记下来:
curl https://ipinfo.io/ip
步骤3.设置Zilminer客户端
在命令行窗口键入以下命令:
zilminer --max-submit=1 --farm-recheck 10000 --work-timeout=7200 --farm-retries=10 --retry-delay=10 -P zil://wallet_address.worker_name@zil_node_ip:get_work_port
注意:请更改您的wallet_address,worker_name,zil_node_ip和 get_work_port 。
· 对于wallet_address:您可以使用Moonlet钱包(https://moonlet.xyz/)来创建新的KeyPair和Zilliqa的地址。
· 对于 worker_name:您可以您输入想要的任意工作者姓名。
· 对于 zil_node_ip:请输入您记下的Zilliqa节点的IP地址。
· 对于 get_work_port:请输入在GETWORK_SERVER_PORT中使用的端口。默认是 4202。
选项2:将许多GPU设备设置为多个CPU节点
设置架构如以下图所示,三方之间的所有通信都是通过JSON-RPC进行的。
· Zilliqa节点将在一个CPU集群上运行来处理事务并执行pBFT共识算法以获得奖励。
· GPU设备将在独立的GPU集群上运行Zilminer来进行PoW挖掘,并通过Mining代理向CPU节点提供PoW解决方案。
· Mining代理将处理来自CPU集群的挖矿请求,并处理来自GPU集群的挖矿注册/响应(Register/Response)。
要将多个GPU设备连接到多个CPU节点,您需要执行以下步骤:
步骤1.在你的所有GPU设备上下载Zilminer客户端
· 对于Windows:下载地址
https://github.com/DurianStallSingapore/ZILMiner/releases
· 对于Ubuntu:下载地址
https://github.com/DurianStallSingapore/ZILMiner/releases
步骤2.设置你的Zilliqa Mining代理服务器
注意:Zilliqa Mining代理服务器仅支持Ubuntu 16.04 OS版本。
您将需要一个单独的CPU来创建此Mining代理服务器。建议的设置是在GCP或AWS实例中托管此代理服务器。(例如t2.medium EC2实例)
请按照 README.md(https://github.com/deepgully/Zilliqa-Mining-Proxy/blob/master/README.md) 中的指南来设置挖掘代理服务器。
Mining代理Github:
https://github.com/DurianStallSingapore/Zilliqa-Mining-Proxy
您需要获取此处为下一步设置的api_server的URL。
步骤3.在你所有的CPU节点上下载并设置Zilliqa客户端
注意:Zilliqa客户端仅支持Ubuntu 16.04 OS版本。
您可以按照wiki挖矿指南(https://github.com/Zilliqa/Zilliqa/wiki/Mining)在docker或本地build环境中在你的所有CPU上设置Zilliqa客户端。
建议的设置是使用docker镜像创建一个CPU集群并使用Kubernetes处理这个CPU集群。一个CPU节点可以是GCP或AWS实例。用于1个CPU节点的推荐云实例就是t2.large EC2实例。
对于所有CPU节点,在启动之前,您必须在配置文件中编辑constants.xml文件的以下参数:
· 设置 REMOTE_MINE的值true
· 设置MINING_PROXY_URL 为 Mining 代理服务器的URL。
(例如http://127.0.0.1:4202/api)
· 将其他 Mining 参数设置为 true
<CUDA_GPU_MINE>false</CUDA_GPU_MINE>
<FULL_DATASET_MINE>false</FULL_DATASET_MINE>
<OPENCL_GPU_MINE>false</OPENCL_GPU_MINE>
<GETWORK_SERVER_MINE>false</GETWORK_SERVER_MINE>
步骤4.设置Zilminer客户端
在命令行窗口键入以下命令:
zilminer --max-submit=1 --farm-recheck 10000 --work-timeout=7200 --farm-retries=10 --retry-delay=10 -P zil://wallet_address.worker_name@zil_node_ip:get_work_port
注意:请更改您的wallet_address,worker_name,zil_node_ip 和 get_work_port 。
· 对于 wallet_address:您可以使用Moonlet钱包(https://moonlet.xyz/)来创建新的 KeyPair 和 Zilliqa 的地址。
· 对于 worker_name:您可以您输入想要的任意工作者姓名。
· 对于 proxy_ip:请输入代理 api_server 的IP地址。
· 对于 proxy_port:请输入代理 api_server的端口。默认是 4202。
其他有用的链接
· 挖矿奖励计算器:https://tinyurl.com/reward-calculator
· Python 3.6安装:https://www.python.org/downloads/
· MongoDB安装:https://docs.mongodb.com/manual/installation/
Github上的源代码
通过在GitHub上创建帐户,为DurianStallSingapore / ZILMiner开发做出贡献。
DurianStallSingapore/Zilliqa-Mining-Proxy
Zilliqa节点和矿工之间的Mining代理。通过在GitHub上创建一个帐户,为DurianStallSingapore/Zilliqa-Mining-Proxy开发做出贡献。