# Hacked together by GigaWatt # Donations welcome! # BTC: 1E2egHUcLDAmcxcqZqpL18TPLx9Xj1akcV # XPM: AWHJbwoM67Ez12SHH4pH5DnJKPoMSdvLz2 # SRC: sMCD2p55fkPD6s8EzDrL7vVp8EYqPkJ6mo # Last Update: 30 August, 2013 { SECURECOIN_WORKER="username.workername" SECURECOIN_PASS="workerpass" SECURECOIN_POOL="stratum+tcp://src.coinmine.pl:6020" # Example Pools: # http://crypto-expert.com/SRC -> 75.156.208.65:7106 # http://src.coinmine.pl -> stratum+tcp://src.coinmine.pl:6020 # p2pool (payout address as worker) -> http://pool.bounceme.net:44397/ # Build swapfile if [[ ! -f /swapfile ]]; then echo "Building swapfile..." sudo dd if=/dev/zero of=/swapfile bs=64M count=16 sudo mkswap /swapfile sudo swapon /swapfile # Mount on reboot if [[ -z "$(cat /etc/fstab | grep swapfile)" ]]; then echo "/swapfile none swap sw 0 0" | sudo tee -a /etc/fstab > /dev/null 2>&1 fi fi # Auto reboot on kernel panic if [[ -z "$(cat /etc/sysctl.conf | grep '^kernel.panic')" ]]; then echo "kernel.panic=3" | sudo tee /etc/sysctl.conf >/dev/null 2>&1 fi echo "Installing libraries..." sudo apt-get update sudo apt-get install automake autoconf build-essential bc curl dos2unix fail2ban git haveged libboost-all-dev libcurl4-openssl-dev libdb++-dev libleveldb-dev libminiupnpc-dev libssl-dev m4 nano unzip vim -y # Enable HAVEGED for entropy sudo update-rc.d haveged defaults sudo service haveged start echo "Downloading and building securecoin..." cat << "SCRIPT" > ~/build-securecoin #!/bin/bash if [[ -d ~/quarkcoin-cpuminer ]]; then cd ~/quarkcoin-cpuminer git pull cd ~/quarkcoin-cpuminer/src make clean else cd ~ git clone https://github.com/Neisklar/quarkcoin-cpuminer.git cd ~/quarkcoin-cpuminer ./autogen.sh ./configure CFLAGS="-O2" fi make sudo cp ./minerd /usr/local/bin/ SCRIPT chmod +x ~/build-securecoin ~/build-securecoin # Run the miner echo '#!/bin/bash' > ~/run-miner echo "/usr/local/bin/minerd -a quark -o ${SECURECOIN_POOL} -u ${SECURECOIN_WORKER} -p ${SECURECOIN_PASS} -R 10" >> ~/run-miner echo "" >> ~/run-miner chmod +x ~/run-miner # Watchdog runner cat << "SCRIPT" > ~/start-securecoind #!/bin/bash export PATH="/usr/local/bin:$PATH" echo Starting securecoin miner [[ -n "$(pidof securecoind)" ]] && killall --older-than 60s -q start-securecoind minerd run-miner rm ~/miner.log 2>/dev/null function background_loop while :; do ~/run-miner > ~/miner.log 2>&1 sleep 5 date >> ~/crash.log done background_loop & function clean_logs while :; do sleep 5m echo "" > ~/miner.log done clean_logs & SCRIPT chmod +x ~/start-securecoind ~/start-securecoind # Add to startup mkdir /var/spool/cron/crontabs/ > /dev/null 2>&1 echo "@reboot ${HOME}/start-securecoind" | sudo tee /var/spool/cron/crontabs/$(whoami) > /dev/null 2>&1 echo "" | sudo tee -a /var/spool/cron/crontabs/$(whoami) > /dev/null 2>&1 sudo chmod 0600 /var/spool/cron/crontabs/$(whoami) sudo update-rc.d cron defaults # Watchdog stopper cat << "SCRIPT" > ~/stop-securecoind #!/bin/bash export PATH="/usr/local/bin:$PATH" { killall -q start-securecoind run-miner minerd rm ~/miner.log } 2>/dev/null SCRIPT chmod +x ~/stop-securecoind # Watchdog restarter cat << "SCRIPT" > ~/restart-securecoind #!/bin/bash ~/stop-securecoind ~/start-securecoind SCRIPT chmod +x ~/restart-securecoind # Peek at status cat << "SCRIPT" > ~/peek #!/bin/bash tail ~/miner.log SCRIPT chmod +x ~/peek echo echo echo '==========================================================' echo 'All Done!' echo 'securecoin pool miner should be up and running' echo echo 'Run ~/start-securecoind to start securecoind and begin mining' echo 'Run ~/stop-securecoind to stop securecoind and stop mining' echo 'Run ~/build-securecoin to update and rebuild securecoind' echo 'Run ~/peek to check on your mining status' }