Option 2: Setting up many GPU rigs to many CPU nodes
The setup architecture is illustrated in the image shown below. All communications amongst these three parties are via JSON-RPC protocol.
- The CPUs in the CPU cluster will be running the Zilliqa clients to process transactions and carry out the pBFT consensus to receive rewards.
- The GPU rigs in the GPU cluster will run the Zilminer software to do the PoW process and provide PoW solutions to CPU cluster via the Mining proxy server.
- The Mining proxy server will process the mining request from the CPU cluster and handle the Mining Register/Response from the GPU cluster.
For hooking up several GPU rigs to several CPU node, you will be required to do the following steps:
Step 1. Download the Zilminer software on all your GPU rigs
Step 2. Setup your Zilliqa Mining proxy server
NOTE: The Mining proxy server software 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 remotely with 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.
Step 3. Download and setup the Zilliqa client on all your CPU nodes
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:
Step 4. Setting up the Zilminer clients
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.
wallet_address : You can use the Moonlet Wallet to create a new account with a new Zilliqa address.
worker_name : You can key in any arbitrary worker name you desire.
proxy_ip : Please key in the IP address of the proxy api_server.
proxy_port : Please key in the port of the proxy api_server. Default is