Πριν από λίγο καιρό προμηθεύτηκα ένα ASICMiner Block Erupter από το eBay. Πρόκειται για μια πολύ απλή συσκευή η οποία βοηθάει στο mining για bitcoins. Όχι ότι θα βγάλει ποτέ λεφτά (πλέον για να βγάλει κανείς λεφτά με bitcoing mining πρέπει να κάνει πολύ μεγάλες επενδύσεις, αφού η δυσκολία είναι τεράστια), αλλά έχει πλάκα σαν χόμπι, και μέσω ebay βρίσκεις τέτοιες συσκευές γύρω στα 20 ευρώ το κομμάτι.
Αφού το δοκίμασα μερικές μέρες στα Windows με το cgminer, ήρθε η ώρα να μετακομίσει στον server του ενυδρείου.
Η εγκατάσταση ήταν υπερβολικά εύκολη. Έβαλα το stick σε μια από τις θύρες του netbook, και έδωσα τις παρακάτω εντολές:
yum install libcurl-devel libudev-devel
(απαραίτητα πακέτα για να γίνει μετά το compile)
cd /root git clone https://github.com/ckolivas/cgminer cd cgminer ./autogen.sh ./configure --enable-icarus make install
και τρέχει με την εντολή cgminer. Τόσο απλά.
Από εκεί και πέρα, για να μην ασχολούμαι καθόλου μαζί του, έπρεπε να το μετατρέψω σε service ώστε να τρέχει μόνο του. Αρχικά, από το ίδιο το cgminer αποθηκεύουμε τα settings που έχουμε επιλέξει στο αρχείο /etc/cgminer.conf.
Μετά δίνουμε: vim /etc/init.d/cgminer για να δημιουργήσουμε ένα script για το service και μέσα paste:
#!/bin/sh # # cgminer Mine bitcoins using cgminer # # chkconfig: 345 20 80 # description: Starts and stops cgminer to mine for \ # bitcoins ### BEGIN INIT INFO # Provides: cgminer # Required-Start: $local_fs $network $remote_fs # Required-Stop: $local_fs $network $remote_fs # Default-Start: 3 4 5 # Default-Stop: 0 1 2 6 # Short-Description: Bitcoin miner # Description: Mine bitcoins using cgminer ### END INIT INFO # Source function library. . /etc/rc.d/init.d/functions exec="/usr/local/bin/cgminer" prog="cgminer" config="/etc/cgminer.conf" args=" --config /etc/cgminer.conf" [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog lockfile=/var/lock/subsys/$prog start() { [ -x $exec ] || exit 5 [ -f $config ] || exit 6 echo -n $"Starting $prog: " # if not running, start it up here, usually something like "daemon $exec" daemon $exec $args retval=$? echo [ $retval -eq 0 ] && touch $lockfile return $retval } stop() { echo -n $"Stopping $prog: " # stop it here, often "killproc $prog" killproc $prog retval=$? echo [ $retval -eq 0 ] && rm -f $lockfile return $retval } restart() { stop start } reload() { restart } force_reload() { restart } rh_status() { # run checks to determine if the service is running or use generic status status $prog } rh_status_q() { rh_status >/dev/null 2>&1 } case "$1" in start) rh_status_q && exit 0 $1 ;; stop) rh_status_q || exit 0 $1 ;; restart) $1 ;; reload) rh_status_q || exit 7 $1 ;; force-reload) force_reload ;; status) rh_status ;; condrestart|try-restart) rh_status_q || exit 0 restart ;; *) echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" exit 2 esac exit $?
Αλλάζουμε permission με chmod 0755 /etc/init.d/cgminer και το service μας είναι έτοιμο. Θα έλεγα καλά κέρδη, αλλά δεν… οπότε, καλή διασκέδαση 😀