twisterp2pblockchainnetworkbittorrentmicrobloggingipv6social-networkdhtdecentralizedp2p-networktwister-servertwister-ipv6twister-coretwisterarmy
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
131 lines
2.5 KiB
131 lines
2.5 KiB
11 years ago
|
#!/bin/bash
|
||
|
|
||
|
TWISTER_CORE_PATH='/home/vagrant/twister-core'
|
||
|
TWISTER_HOME='/home/vagrant/.twister'
|
||
|
AS_VAGRANT='sudo -u vagrant'
|
||
|
|
||
|
if [ -n "$1" ]; then
|
||
|
timezone=$1
|
||
|
else
|
||
|
timezone="UTC"
|
||
|
fi
|
||
|
|
||
|
bootstrap=$2
|
||
|
compile=$3
|
||
|
run=$4
|
||
|
|
||
|
function failed {
|
||
|
echo
|
||
|
echo 'Something failed !!!!!'
|
||
|
echo
|
||
|
exit 1
|
||
|
}
|
||
|
function checkfail {
|
||
|
if [ ! $? -eq 0 ]; then
|
||
|
failed
|
||
|
fi
|
||
|
sleep 3
|
||
|
}
|
||
|
|
||
|
|
||
|
echo
|
||
|
echo 'Running bootstrap for twister-core'
|
||
|
echo "
|
||
|
bootstrap=$bootstrap
|
||
|
compile=$compile
|
||
|
run=$run
|
||
|
"
|
||
|
echo
|
||
|
echo ".. setting timezone"
|
||
|
service ntp stop
|
||
|
ntpdate ntp1.sp.se
|
||
|
service ntp start
|
||
|
echo "$timezone" | sudo tee /etc/timezone && dpkg-reconfigure --frontend noninteractive tzdata
|
||
|
#$AS_VAGRANT ln -s /vagrant $TWISTER_CORE_PATH
|
||
|
|
||
|
|
||
|
echo '.. fixing permissions'
|
||
|
cd $TWISTER_CORE_PATH
|
||
|
find /vagrant/scripts -type d -exec chmod 755 {} \;
|
||
|
find /vagrant/scripts -type f -exec chmod 644 {} \;
|
||
|
chmod 755 /vagrant/scripts/bin/*
|
||
|
|
||
|
echo '.. checking apt cache'
|
||
|
timestamp_file="$(mktemp)"
|
||
|
touch -d "$(date -R -d '1 day ago')" $timestamp_file
|
||
|
file=/var/cache/apt
|
||
|
if [ $file -ot $timestamp_file ]; then
|
||
|
apt-get update
|
||
|
fi
|
||
|
|
||
|
|
||
|
echo '.. configuration & web gui'
|
||
|
if [ ! -d "$TWISTER_HOME" ]; then
|
||
|
$AS_VAGRANT mkdir $TWISTER_HOME
|
||
|
cd $TWISTER_HOME
|
||
|
$AS_VAGRANT touch twister.conf
|
||
|
echo -e "rpcuser=user\nrpcpassword=pwd\nrpcallowip=*" > twister.conf
|
||
|
chmod 600 twister.conf
|
||
|
fi
|
||
|
|
||
|
if [ ! -d "$TWISTER_HOME/html" ]; then
|
||
|
cd "$TWISTER_HOME"
|
||
|
git clone https://github.com/miguelfreitas/twister-html.git html
|
||
|
checkfail
|
||
|
fi
|
||
|
|
||
|
|
||
|
|
||
|
if [ $bootstrap -eq 1 ]; then
|
||
|
echo '.. bootstrapping'
|
||
|
echo '.. installing tools and libraries'
|
||
|
apt-get install -y git build-essential autoconf libtool libssl-dev libboost-all-dev libdb++-dev libminiupnpc-dev openssl
|
||
|
checkfail
|
||
|
|
||
|
cd $TWISTER_CORE_PATH
|
||
|
$AS_VAGRANT ./bootstrap.sh
|
||
|
checkfail
|
||
|
fi
|
||
|
|
||
|
if [ $compile -eq 1 ]; then
|
||
|
echo '.. compiling'
|
||
|
$AS_VAGRANT make
|
||
|
checkfail
|
||
|
fi
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
if [ $run -eq 1 ]; then
|
||
|
echo '.. launching twisterd'
|
||
|
cd $TWISTER_CORE_PATH
|
||
|
$AS_VAGRANT -H ./twisterd -debug -daemon
|
||
|
fi
|
||
|
|
||
|
|
||
|
|
||
|
if [ $? -eq 0 ]; then
|
||
|
echo
|
||
|
echo '=================================================================='
|
||
|
echo "
|
||
|
Done.
|
||
|
Open http://127.0.0.1:28332/index.html and use the user/pwd credentials
|
||
|
Create your account !
|
||
|
|
||
|
If you want to do some development or other stuff then...
|
||
|
$ vargrant ssh
|
||
|
$ source twister-core/contrib/buildenv/scripts/activate
|
||
|
|
||
|
This will give you some nice to have commands like
|
||
|
* twister start|stop - to start and stop the server
|
||
|
* twisted - alias to ~/twisted-core/twisted
|
||
|
|
||
|
|
||
|
Good luck!
|
||
|
"
|
||
|
else
|
||
|
failed
|
||
|
|
||
|
fi
|