Mining AION Coins in Docker

@kwarktaart
please add newlines where necessary, it’s tough to read it this way :wink:
I don’t know what you already installed on your host machine. Can you please show the output of:

which docker-compose

and

/usr/local/bin/docker-compose -v

and

dpkg -l | grep docker

It looks like your still invoking the old docker-compose version maybe because it’s not pointing to the one download via curl but via apt-get.


nico@kwarkbakubunututut:~$ which docker-compose
/usr/local/bin/docker-compose

nico@kwarkbakubunututut:~$ /usr/local/bin/docker-compose -v
docker-compose version 1.19.0, build 9e633ef

nico@kwarkbakubunututut:~$ dpkg -l | grep docker
ii docker 1.5-1 amd64 System tray for KDE3/GNOME2 docklet applications
ii docker-compose 1.8.0-2 all Punctual, lightweight development environments using Docker
ii docker.io 1.13.1-0ubuntu6 amd64 Linux container runtime
ii python-docker 1.9.0-1 all Python wrapper to access docker.io’s control socket
ii python-dockerpty 0.4.1-1 all Pseudo-tty handler for docker Python client (Python 2.x)

tried the docker-compose up, got Couldn’t connect to Docker daemon
tried sudo docker-compose up and it worked I think? Seems to be doing something: https://imgur.com/a/A9nsImZ

Will this work on windows?

Use

```
[copypasta]
```

for proper formatting

1 Like

@Jahosefat
I never tested it on Windows. But the kernel, solo mining pool, CPU miner and redis should work.
The GPU miner won’t work because nvidia-docker is not working on Windows.

I just released the new solo mining pool Version 0.2.2 on Docker Hub and update the GitHub Repo explaining how to use nvidia as docker default runtime (needed for docker-compose).

Hello @chris1 ! Are you planning to follow the announcement and release the latest docker file today along with their release of mainet ?

Thanks for the quick reply. I have never used Ubuntu and currently have my mining rig using windows to mine. I would LOVE to switch it over to mine AION but I have absolutely zero idea how to do it and it looks complicated lol.

@xvin3t
I already released the newest kernel container and solo mining pool as well.
So you can already mine with these Docker Container against the Mainnet.

But I didn’t mine anything up to now. It’s frustrating. I spend so much time in these project.
Now I’m mining with 15-16 Sol/s and didn’t mine anything…maybe I’m doing something wrong. But it’s not related to Docker. Maybe I would need a bunch of graphic cards to produce anything.

@Jahosefat
I could spend some time trying it. But as I don’t earn any money spending so much time in this project and didn’t get any rewards/donations for these Docker Container/docker-compose so far, I’m not sure if I will investigate Mining on Windows at the moment to be honest.

Hello @chris1!
Thank you for the realease, we started to mine last night using the native version to quickstart, but I prefer the dockerized version.
I also feel a little frustrated regarding mining results, I made about 26.5 AIONS in 8h with two GTX 1080Ti overclocked. Seems that the difficulty is now very high.

Did you use the smartminer ? With the reference miner I get 45 sol/s, when I get 800 sol/s with the smart miner (see on the forum).

Cheers,
xvin3t

Those are pretty great results actually? That’s quite a lot of money in just 8 hours.

this! That’s one hell of a haul for those cards in 8 hours!

I guess I got lucky then :wink: I started on the solo mining pool but joined Centrys this morning to compare performances (same rig as my friend). It seems more profitable to be on the solo pool than the public pool.

Quick question here… What is Docker and what are its advantages if it has any? Is it just another operating system? Thought I’d read up on things I didn’t know too much about…

Puhh, difficult to say it in a few sentences.
I will try it.
You can ship code within containers. Docker Containers are based on cgroups and namespaces. They are often compared to Virtual Machines. But the underlying mechnism is completley different. Docker Container are much more lightweight than VMs.
One of the advantages of Docker is that you can easily deploy new code. Just replace the running Docker Containers. Previously you needed to update the packages, source code etc. on the host system. Now just replace the Container.
So for example: if AION releases a new kernel version, you don’t have to clone the repo again, update npm (if needed) etc. Just execute “docker pull …” and you get the newest version.
As Docker Containers are mostly lightweight you don’t loose much performance in comparison to run them on the host system directly (compared to VMs where you loose some performance).
You can find many tutorials about Docker and docker-compose. Docker-compose is just a tool to connect Docker Containers together. That’s why I created it on my GitHup Repo: the kernel, solo mining pool, redis, CPU and GPU Miner are connected through a local Docker network in order to communicate with each other.
Of course you can just use the kernel, solo mining pool and redis Container. As they are reachable from outside you don’t necessarily need to run the GPU/CPU Miner in Docker. But it makes things easier.

Hello Chris, I went ahead and made a small fork on one of your docket files to install the smartminer in a container (exactly the same as your implementation, just removed some env params which are not useful for the smartminer, then changed the github address).

You can find it here: https://github.com/sbglive/compose/blob/master/aion_smartminer/aion_smartminer.Dockerfile

I made an image for my personal needs on docker hub but since you started this I suppose it would be better on your github and docker hub.

Cheers, thank you again for the work. It is useful on my side, will likely donate a few hard mined AIONS.

2 Likes

Hey,

thank’s, great work and good idea!
I tried your Dockerfile and there was a little problem which leaded to not being able to run the container.
You used the ARG variable

ARG MINER_VERSION=v3.1

and then used it for executing the miner:

CMD ./SmartMiner.$MINER_VERSION -cd $DEVICE …

That’s the right idea but the problem is:
ARG variables are only usable during building the container. When I wanted to start the container it didn’t know this variable and so it couldn’t find the executable file.
The workaround is easy:
use an environment variable which points to the arg variable:

ENV MINER_VERSION=$MINER_VERSION

You can test the different behaviour if you start the container and try

echo $MINER_VERSION

Without using the env variable this command will output nothing because the variable is not defined. Using the env command in Dockerfile leads to a known environment variable.
But that’s the only issue. Then it worked :slight_smile:

I like your suggestion to put the Dockerfile and Docker container on my GitHub Repo and Docker Hub to have it on one place. I already pushed it there:
https://hub.docker.com/r/sh39sxn/aion-smartminer/
https://github.com/sh39sxn/mining-aion-coins/blob/master/aion-gpu-smartminer.Dockerfile and https://github.com/sh39sxn/mining-aion-coins/blob/master/aion-gpu-smartminer.env

And adjusted the docker-compose.yml

I mentioned your repo in the Dockerfile and Docker Hub because I don’t want to steal any code.
If don’t want to be linked just tell me and I remove it.

And thank’s for donations. I’m glad that the Containers are useful for you. If you donate some of your mined coins the address will be:
0xa002b257cdc41ec76cbc9e30e1f1d93d0fe702201a45ab588ccabaadd5606e22
You can also see the address on DockerHub.

In the meanwhile I stopped mining. I don’t have the equipment to mine anything anymore. The hashrate and difficult is too high for me, so it doesn’t make any sense for me anymore :frowning:
Maybe I will focus on other projects, too. And create some more docker setups :slight_smile:

Chris would you mind sharing what you were using to mine? Thank you in advance!

Hello @chris1, indeed I noticed the issue and manually put the version locally before building the image, nice work around though with the ENV variable !

@xvin3t
That explains why it worked for you. I already wondered how you could run the container :slight_smile:
That means you set the environment variable on your host machine and then build the image?

@blockheadfresno
To be honset I used some cloud instances to mine AIONs. And so I’m limited to their GPUs. Unfortunately I had to try many many instance types till I found out that you can only mine AIONs using Tesla M60 with at least 4 GPUs per host. With one GPU there is 0 Sol/s. I didn’t knew that the miners are obviously not working correctly with just 1 GPU (at least with Tesla M60) and the Sol/s increases exponentially with the numer of GPUs (not proportinally!). That’s why I missed the big possibility to mine many coins directly after the launch of public mainnet. Otherwise I would have invested my whole budget in the first few hours.
Now it’s too late and I cannot pay 1,36$ per hour for 300-400 Sol/s. That’s senseless :frowning:
So I reached my buget very very fast.
Here are some links of my tries:


https://forum.aion.network/t/mining-0-sol-s/763/14

But if there are people who need a Linux guy like me to help them with their mining software and they provide a mining rig, we can do a partnership and share the mined coins 50:50 :slight_smile:

I released Kernel Version 0.2.6 at Docker Hub. See https://hub.docker.com/r/sh39sxn/aion-kernel/