A mining proxy between Zilliqa CPU nodes and GPU mining rigs. This proxy only runs on a machine with a public IP address. The public IP address is required for both the Zilliqa CPU nodes and GPU mining rigs to connect to it.
The setup architecture is illustrated in the image shown below. All communications amongst these three parties are via the JSON-RPC protocol.
Install Python3.7.2+ and MongoDB
Clone Zilliqa-Mining-Proxy, and setup the Python dependencies:
git clone https://github.com/DurianStallSingapore/Zilliqa-Mining-Proxy
cd Zilliqa-Mining-Proxy
sudo python3.7 setup.py develop
Change the settings in the pool.conf
file for the following:
# settings to change for zilpool
api_server:
host: 127.0.0.1 # key in your machine's internal/private IP
port: 4202 # key in the port you are using for CPU nodes' Zilliqa clients
path: /api # key in the path for connecting to zilpool
database:
uri: "mongodb://127.0.0.1:27017/zil_pool"
# For more details, refer to: https://docs.mongodb.com/manual/reference/connection-string/
Find out the public IP address of this machine:
curl https://ipinfo.io/ip
You will be required to connect the Zilliqa CPU nodes running the Zilliqa Clients and the mining rigs running Zilminers to this proxy server's public IP address.
constants.xml
file REMOTE_MINE
and MINING_PROXY_URL
parameter:
<REMOTE_MINE>true</REMOTE_MINE>
<MINING_PROXY_URL>http://52.220.146.17:4202/api</MINING_PROXY_URL>
proxy_ip
to this public IP address when setting up the Zilminers.Run Zilliqa proxy server
python3.7 start.py