#!/bin/bash #install node.js (for Nelson) curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - sudo apt-get -y install -y nodejs #install IRI #pre-check Java agreements echo debconf shared/accepted-oracle-license-v1-1 select true | sudo debconf-set-selections echo debconf shared/accepted-oracle-license-v1-1 seen true | sudo debconf-set-selections sudo apt-get -y install software-properties-common -y && sudo add-apt-repository ppa:webupd8team/java -y && sudo apt update && sudo apt install oracle-java8-installer curl wget jq git -y && sudo apt install oracle-java8-set-default -y sudo sh -c 'echo JAVA_HOME="/usr/lib/jvm/java-8-oracle" >> /etc/environment' && source /etc/environment sudo useradd -s /usr/sbin/nologin -m iota sudo -u iota mkdir -p /home/iota/node /home/iota/node/ixi /home/iota/node/mainnetdb #install Oyster.ixi cd //home/iota/node/ixi && sudo -u iota git clone https://github.com/oysterprotocol/oyster.ixi/ Oyster #find latest IRI release LATEST_RELEASE=$(curl -L -s -H 'Accept: application/json' https://github.com/iotaledger/iri/releases/latest) # The releases are returned in the format {"id":7789623,"tag_name":"iri-1.4.1.7",...}, we have to extract the tag_name. LATEST_VERSION=$(echo $LATEST_RELEASE | sed -e 's/.*"tag_name":"\([^"]*\)".*/\1/') lv_nov=${LATEST_VERSION:1} iri_v="iri-"$lv_nov".jar" IRI_URL="https://github.com/iotaledger/iri/releases/download/"$LATEST_VERSION"/"$iri_v dir_iri="/home/iota/node/"$iri_v sudo -u iota wget -O $dir_iri $IRI_URL #find RAM, in MB phymem=$(awk -F":" '$1~/MemTotal/{print $2}' /proc/meminfo ) phymem=${phymem:0:-2} #allot about 75% of RAM to java phymem=$((($phymem/1333) + ($phymem % 1333 > 0))) xmx="Xmx" xmx_end="m" xmx=$xmx$phymem$xmx_end #set up Systemd service cat < /dev/null #Start Nelson with pm2 sudo npm install pm2 -g sudo pm2 startup sudo pm2 start nelson -- --getNeighbors sudo pm2 save