Okay, so it turns out you don’t strictly need a gmail account to use this bitcoin.com app – that’s only if you want to back things up with Google, which we don’t care about yet. One thing at a time here! The first order of business is to tell Slush Pool where our wallet is. For this we need a 34 character wallet address, which is a little tricky to find in the app. I found it by tapping on “My BTC wallet” and then tapping on “RECEIVE”. This shows you a QR code. Tapping on the QR code will copy the address into your clipboard. I stumbled on this completely by accident, I am not sure what the big secret is but there you have it.
It’s not completely obvious how to get this address into Slush Pool, either. I went into Settings and then into “BTC Payouts” (under “Bitcoin”). There is a field in there called “Payout Address”, and if you click the pencil you can paste in your wallet address. Don’t forget to hit “Submit” at the bottom of the page (I definitely didn’t forget to do this the first time around).
Now Slush Pool knows where to put our money so we can get rich! The next step is to install CGMiner on our garbagey old mac.
Installing CGMiner on our garbagey old mac
I won’t go into too much detail here because it’s all pretty easy to find on the internet – I will just tell you about the speedbumps I hit. The first one is when I ran ./configure for the first time, and received a complaint about libcurl dev not being installed.
Installing curl was kind of mysterious so I went with the homebrew approach. Homebrew is easy to install and apparently when you type ‘brew install curl’ it installs both curl and libcurl dev. So that’s convenient. It still doesn’t work though! You have to also throw these in:
export LDFLAGS="-L/usr/local/opt/curl/lib"
export CPPFLAGS="-I/usr/local/opt/curl/include"
export PKG_CONFIG_PATH="/usr/local/opt/curl/lib/pkgconfig"
./configure gets a lot farther now, but craps out with this message:
configure: error: No mining devices configured in
Ah, we have to configure a mining device like so:
./configure --enable-avalon
But which one do we choose? There’s a whole list of them, and I have no idea what any of this means. I do know one thing, actually – we can get rid of anything that has ASIC in the name, because we don’t have one of those. That leaves:
DragonMint.T1.Halong.: Disabled
Antminer.S1.Bitmain..: Disabled
Antminer.S2.Bitmain..: Disabled
Antminer.S3.Bitmain..: Disabled
BitForce.FPGAs.......: Disabled
Drillbit.BitFury.....: Disabled
Icarus.ASICs/FPGAs...: Disabled
ModMiner.FPGAs.......: Disabled
Hmmm, a lot of these are FPGA’s.
What’s an FPGA?
Field Programmable Gate Array. The internet makes this sound like something you have to build. If I had one of these, I’d probably know it. So we can get rid of those. The others, it turns out, are all ASIC’s. So we’re screwed.
We can go back to the last version of cgminer that supports GPU mining, which, I think, is something we can do on these crappy computers. We will almost certainly be losing money by doing this, but it will be on the scale of pennies, so we are going to plow ahead out of morbid curiosity.
Getting this version of cgminer to compile involves some tinkering. I used homebrew to install autoconf, automake, and libtool, and then had to run autoreconf -i
. From there I appear to have only one choice of mining device, so I configure with ./configure --enable-opencl
. Then I run make
, and uh-oh:
util.c:1001:9: error: implicit declaration of function 'clock_nanosleep' is
invalid in C99 [-Werror,-Wimplicit-function-declaration]
ret = clock_nanosleep(CLOCK_MONOTONIC, TIMER_ABSTIME, ts...
^
util.c:1001:42: error: use of undeclared identifier 'TIMER_ABSTIME'
ret = clock_nanosleep(CLOCK_MONOTONIC, TIMER_ABSTIME, ts...
^
2 errors generated.
Apparently this clock_nanosleep
just isn’t implemented in macos, and this is suddenly way above my pay grade. Let’s try linux! I have an (even older) mac that has ubuntu 20.04 installed on it. Getting the libcurl dev stuff is a little different, I have to do an apt install libcurl4-openssl-dev
, but the rest is pretty much the same and it gets me past this clock_nanosleep
thing.
Installing cgminer on our garbagey old linux box
This machine has an NVIDIA graphics card in it, and I have to install an OpenCL compatible driver from NVIDIA to get this to work. Fortunately NVIDIA has done a pretty good job of providing this! This finally allows me to make
and make install
, and I think we are ready to go!
Oops not quite. We also have to install the cuda stuff from NVIDIA. This doesn’t go as well for me. We are throwing good time after bad on this.
Installing cgminer on our garbagey old windows box
Stay tuned for the next episode!