The crypto server has been running for 6 months and things have gone almost to plan. The server specs were basically designed for Filecoin but there were many issues with installing it (see here). We are at the stage where the Filecoin miner needs 1TB to run. Since the 2TB SSD has been partitioned, another SSD is required and burning more time/energy just wasn’t worth it. Solana was another issue – the internet/CPU/storage requirements are huge. The chances of winning a block is 0, so it’s not worth the pain.
So there is plenty of CPU/GPU/storage/memory to burn and we need to get a decent return on that expensive hardware, including an RTX 3070 GPU which was around $1000AUD and just sitting there idle.
One prospect is BTC/ETH mining due to the high prices (still). But why do it? ETH 2.0 is just around the corner, EIP 1559 will reduce returns and Norton 360 comes with a built-in miner. So we’ve got around 6-12 months to do some mining before it becomes pointless. Let’s get right to it. This is what we can expect in returns:
If we look at some local stats from nsfminer:
It tells us around 200W is used, so doing some basic math and working on $0.20/kwh this works out to $1AUD/day. The yearly profit works out to ~$1000, which just covers the cost of the card. If you are going to make your fortune with Eth mining right now – forget it. Using an expensive RTX 3090 (or multiples of them) isn’t going to make you serious coin (even if you disable the Nvidia crypto hacks). The only way is if the rest of the world stops mining or the price drastically increases. Or switch coins which many amateur miners do.
The all matches up pretty closely with what 2cryptocalc.com shows for an RTX 3070 which was 2nd on the list of profitable coins for this card (only beaten by Zcoin):
So the RTX 3070 is a pretty good choice for Eth mining right now, but even older cards still do pretty well and are probably better value for money (including the new RTX 3060).
To put it all together, install nsfminer instead of ethminer which doesn’t work for the latest cards. Fortunately the nsfminer binary worked without having to compile it.
Do some sanity checks and run it up as a service (nsfminer.service):
[Unit] Description=nsfminer After=network.target Wants=network.target [Service] Type=simple ExecStart=/usr/bin/nsfminer -P stratum1+tcp://0x<your wallet>@asia1.ethermine.org:4444 --HWMON 2 --api-port -3333 Restart=always RestartSec=5 KillMode=process [Install] WantedBy=default.target
Select the most appropriate mining pool (I used the Asia instance in https://ethermine.org).
Run http://localhost:3333/ and http://127.0.0.1:3333/metrics to make sure the Prometheus interface is running. You can check on Ethermine to see that everything is running correctly as well. You can now receive more regular payments using Polygon/Matic.
One super-useful test tool is nvtop. Make sure that there is no throttling of the card and see 100% utilization. Good to see that over half of the 8GB RAM is being used:
Next was the Prometheus interface to Ethermine. Fortunately one already exists and can be downloaded here. You can download the source code, go to the dev directory and modify docker-compose.xml to the following:
version: '3.7' services: ethermine: image: hon95/prometheus-ethermine-exporter:latest build: context: .. args: - APP_VERSION=0.0.0-SNAPSHOT command: - '--debug' - '--endpoint=:3334' # user: 1000:1000 # environment: # - TZ=Europe/Oslo ports: - 127.0.0.1:3334:3334/tcp restart: unless-stopped
Type “docker-compose up” to make it run (after downloading docker/docker-compose).
In a browser use the URL:
http://127.0.0.1:3334/miner?pool=ethermine&target=0x<your wallet address>
You should hopefully see the miner stats. Next, add the following to prometheus.yml:
- job_name: 'nsfminer' static_configs: - targets: ['localhost:3333'] - job_name: ethermine-ethermine-miner scrape_interval: 5m metrics_path: /miner params: pool: [ethermine] target: [0x<your wallet address>] static_configs: - targets: ['localhost:3334']
Restart prometheus and you should be able to query some of the above stats (e.g. “miner_device_hashrate”).
Next the fun bit – to graph everything which at present looks something like:
Some of the prices have been converted to AUD, you can change as you please. Import the following json into Grafana and you’ll see something similar to the above.