-
Notifications
You must be signed in to change notification settings - Fork 21
User Guide
Zilminer allows Miners to do proxy mining via the Getwork protocol to 1 CPU node or a cluster of CPU nodes with the help of a proxy server.
- For setting up many GPU rigs to 1 CPU node. Please see Option 1 below.
- For setting up many GPU rigs to many CPU nodes. Please see Option 2 below.
The setup architecture is shown below in the image. All communications between these two parties is via JSON-RPC.
- The Zilliqa node will be running on 1 CPU and carrying out the pBFT consensus to receive rewards.
- The GPU rigs will run Zilminer on a separate GPU cluster to do PoW mining and provide PoW solutions directly to the CPU node.
For hooking up several GPU rigs to 1 CPU node, you will require do the following steps:
- For Windows: DOWNLOAD HERE
- For Ubuntu: DOWNLOAD HERE
NOTE: Zilliqa client is only supported on Ubuntu 16.04 OS.
You can follow the Mining guide wiki for either docker or native build to setup your Zilliqa client. However, you will have to edit the constants.xml
file in your configuration file for the following parameters before launching:
- Set
GETWORK_SERVER_MINE
totrue
. - Set
GETWORK_SERVER_PORT
to the port you will be using to GetWork. (default is4202
) - Set the other mining parameters to
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>
After doing so, you will need to find out your current IP address with the following command and write it down:
curl https://ipinfo.io/ip
Key in the following command in your command prompt:
zilminer -P zil://wallet_address.worker_name@zil_node_ip:get_work_port
NOTE: Change the wallet_address, worker_name, zil_node_ip, and get_work_port accordingly.
- For
wallet_address
: You can use the Zilliqa Wallet to create a new keypair and a Zilliqa address. - For
worker_name
: You can key in any arbitrary worker name you desire. - For
zil_node_ip
: Please key in the IP address of the Zilliqa node you written down. - For
get_work_port
: Please key in the port used inGETWORK_SERVER_PORT
. Default is4202
.
The setup architecture is shown below in the image. All communications amongst these three parties is via JSON-RPC.
- The Zilliqa nodes will be running on a CPU cluster to process transactions and carrying out the pBFT consensus to receive rewards.
- The GPU rigs will run Zilminer on a separate GPU cluster to do PoW mining and provide PoW solutions via the Mining proxy to CPU cluster.
- The Mining proxy will handle the mining request from the CPU cluster and process the Mining Register/Response from the GPU cluster.
For hooking up several GPU rigs to several CPU node, you will require do the following steps:
- For Windows: DOWNLOAD HERE
- For Ubuntu: DOWNLOAD HERE
NOTE: Zilliqa Mining proxy server is only supported on Ubuntu 16.04 OS.
You will need a separate CPU to create this mining proxy server. The recommended setup is to host this proxy server in a GCP or AWS instance. (e.g t2.medium EC2 instance)
Please follow the guide located in this README.md in order to setup the Mining proxy server.
Mining proxy Github repo: https://github.com/DurianStallSingapore/Zilliqa-Mining-Proxy
You will need to obtain the URL of the api_server
that you setup here for the next step ahead.
NOTE: Zilliqa client is only supported on Ubuntu 16.04 OS.
You can follow the Mining guide wiki for either docker or native build to setup your Zilliqa clients on all your CPUs.
The recommended setup will be to create a CPUs cluster using the docker image and handling the CPUs cluster with Kubernetes. A CPU node can be either a GCP or AWS instance. The recommended cloud instance to use for 1 CPU node is a t2.large EC2 instance.
For all your CPU nodes, you will have to edit the constants.xml
file in your configuration files for the following parameters before launching:
- Set
REMOTE_MINE
totrue
. - Set
MINING_PROXY_URL
to the URL of your mining proxy server. (e.g.http://127.0.0.1:4202/api
) - Set the other mining parameters to
false
.<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>
Key in the following command in your command prompt:
zilminer -P zil://wallet_address.worker_name@proxy_ip:proxy_port/api
NOTE: Change the wallet_address, worker_name, proxy_ip, and proxy_port accordingly.
- For
wallet_address
: You can use the Zilliqa Wallet to create a new keypair and a Zilliqa address. - For
worker_name
: You can key in any arbitrary worker name you desire. - For
proxy_ip
: Please key in the IP address of the proxy api_server. - For
proxy_port
: Please key in the port of the proxy api_server. Default is4202
.