Created
April 14, 2018 00:51
-
-
Save metacoin/4b60dacb1a5ec493b3eb89f13e108dd6 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
### | |
# Script made by reddit/u/ben-btc & EnterTheBlockchain.com | |
# Updated (v2.0) by Joseph Fiscella (metacoin) for FLO v0.15.3 | |
# Designed for a fresh install of Ubuntu 16.04 | |
# Modified from and special thanks to reddit/u/ymmv2 for creating the btcAutoNode script | |
# https://www.reddit.com/r/Bitcoin/comments/1se3zd/how_to_create_a_full_bitcoin_node_in_a_5_ubuntu/ | |
# | |
# https://flo.cash | |
# Version 2.0 | |
### | |
### | |
echo "########### The server will reboot when the script is complete" | |
echo "########### Installing Dependencies" | |
cd ~ | |
apt-get -y update | |
apt-get -y install software-properties-common python-software-properties htop | |
add-apt-repository ppa:bitcoin/bitcoin | |
apt-get -y update | |
apt-get -y install git build-essential automake autoconf libboost-all-dev libssl-dev pkg-config | |
apt-get -y install libprotobuf-dev protobuf-compiler libqt4-dev libqrencode-dev libtool | |
apt-get -y install libcurl4-openssl-dev libevent-dev | |
apt-get -y install libdb4.8-dev libdb4.8++-dev | |
echo "########### Creating Swap" | |
dd if=/dev/zero of=/swapfile bs=1M count=2048 ; mkswap /swapfile ; swapon /swapfile | |
echo "/swapfile swap swap defaults 0 0" >> /etc/fstab | |
sudo chmod 0600 /swapfile | |
echo "########### Cloning Florincoin and Compiling" | |
mkdir -p ~/src && cd ~/src | |
git clone https://github.com/floblockchain/flo.git | |
cd flo | |
./autogen.sh | |
./configure | |
make | |
make install | |
echo "########### Create flo User" | |
useradd -m flo | |
echo "########### Creating flo.conf" | |
cd ~flo | |
sudo -u flo mkdir .flo | |
config=".flo/flo.conf" | |
sudo -u flo touch $config | |
echo "port=7312" > $config | |
echo "server=1" >> $config | |
echo "daemon=1" >> $config | |
#echo "connections=80" >> $config #default is 125 | |
randUser=`< /dev/urandom tr -dc A-Za-z0-9 | head -c30` | |
randPass=`< /dev/urandom tr -dc A-Za-z0-9 | head -c30` | |
echo "rpcuser=$randUser" >> $config | |
echo "rpcpassword=$randPass" >> $config | |
echo "generate=0" >> $config | |
echo "txindex=1" >> $config | |
echo "addnode=146.185.148.114" >> $config | |
echo "addnode=192.241.171.45" >> $config | |
echo "addnode=188.166.6.99" >> $config | |
echo "addnode=176.9.59.110" >> $config | |
echo "addnode=162.243.107.112" >> $config #nyc2 | |
echo "addnode=128.199.116.119" >> $config #sgp | |
echo "addnode=207.154.239.148" >> $config #de | |
echo "addnode=192.241.201.19" >> $config #sf1 | |
echo "########### Setting up IPTables" | |
iptables -A INPUT -p tcp --dport 7312 -j ACCEPT | |
#echo "########### Download & Install Blockchain Snapshot" | |
#cd ~ | |
#wget https://hellobitcoin.org/flo/flochain.tar.gz | |
#tar -xzvf flochain.tar.gz | |
#cp -r Florincoin\ Blockchain/* ~flo/.flo/ | |
#chown -R flo ~flo/.flo | |
#rm -rf Florincoin\ Blockchain/ | |
#rm flochain.tar.gz | |
echo "########### Setting up autostart (cron)" | |
crontab -l > tempcron | |
echo "0 3 * * * reboot" >> tempcron # reboot at 3am to keep things working okay | |
crontab tempcron | |
rm tempcron | |
# Start on boot | |
sed -i '2a\ | |
sudo -u flo /usr/local/bin/flo -datadir=/home/flo/.flo' /etc/rc.local | |
echo "############ Add an alias for easy use" | |
echo "alias flo=\"sudo -u flo flo-cli -datadir=/home/flo/.flo\"" >> ~/.bashrc # example use: flo getinfo | |
reboot | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment