Msrybin Опубликовано 25 августа, 2021 Поделиться Опубликовано 25 августа, 2021 Файл: autoupdate.sh #!/bin/bash SCRIPT_NAME="nknupdate.sh" if [[ "$USER" == "root" ]]; then HOMEFOLDER="/root/nkn-node" else HOMEFOLDER="/home/$USER/nkn-node" fi CURRENTDIR=$(pwd) cd $HOMEFOLDER if [[ -z $(sudo -u root crontab -l | grep 'nknupdate.sh') ]]; then sudo -u root crontab -l > cron echo -e "0 */2 * * * $HOMEFOLDER/nknupdate.sh >/dev/null 2>&1" >> cron sudo -u root crontab cron rm cron fi echo "Create script file..." echo "#!/bin/bash" > $SCRIPT_NAME echo >> $SCRIPT_NAME echo 'GITPATH="https://github.com/nknorg/nkn.git"' >> $SCRIPT_NAME echo 'RELEASES_PATH="https://github.com/nknorg/nkn/releases/download"' >> $SCRIPT_NAME echo 'DIR_NAME="linux-amd64"' >> $SCRIPT_NAME echo 'CURRENTDIR=$(pwd)' >> $SCRIPT_NAME echo -e "cd $HOMEFOLDER" >> $SCRIPT_NAME echo 'if [ -d nkn ]; then' >> $SCRIPT_NAME echo ' cd nkn' >> $SCRIPT_NAME echo ' git fetch' >> $SCRIPT_NAME echo ' else' >> $SCRIPT_NAME echo ' git clone $GITPATH' >> $SCRIPT_NAME echo ' cd nkn' >> $SCRIPT_NAME echo 'fi' >> $SCRIPT_NAME echo -e "chown -R $USER:$USER $HOMEFOLDER/nkn" >> $SCRIPT_NAME echo 'LATEST_TAG=$(git tag | sort -d | tail -n 1)' >> $SCRIPT_NAME echo 'cd ..' >> $SCRIPT_NAME echo -n 'if [[ -z $' >> $SCRIPT_NAME echo -n -e "($HOMEFOLDER/nknd -v | grep " >> $SCRIPT_NAME echo '$LATEST_TAG) ]]; then' >> $SCRIPT_NAME echo ' sudo systemctl stop nkn.service' >> $SCRIPT_NAME echo ' if [ -f $DIR_NAME.zip ]; then rm $DIR_NAME.zip; fi' >> $SCRIPT_NAME echo ' wget "$RELEASES_PATH/$LATEST_TAG/$DIR_NAME.zip"' >> $SCRIPT_NAME echo ' unzip "$DIR_NAME.zip" >/dev/null 2>&1' >> $SCRIPT_NAME echo ' chmod +x $DIR_NAME/nkn*' >> $SCRIPT_NAME echo ' cp -r $DIR_NAME/* .' >> $SCRIPT_NAME echo ' rm ../Log/*' >> $SCRIPT_NAME echo ' sudo systemctl start nkn.service' >> $SCRIPT_NAME echo ' rm -rf $DIR_NAME' >> $SCRIPT_NAME echo ' rm $DIR_NAME.zip' >> $SCRIPT_NAME echo 'fi' >> $SCRIPT_NAME echo 'LATEST_TAG=$( ps -e | grep nknd | awk '\''{print $1}'\'' )' >> $SCRIPT_NAME echo 'if [ -z $LATEST_TAG ]; then systemctl start nkn.service; fi' >> $SCRIPT_NAME echo 'cd $CURRENTDIR' >> $SCRIPT_NAME chmod +x $SCRIPT_NAME cd $CURRENTDIR rm -rf nkn Файл: install.sh #!/bin/bash GITPATH="https://github.com/nknorg/nkn.git" RELEASES_PATH="https://github.com/nknorg/nkn/releases/download" DIR_NAME="linux-amd64" FCONFIG="config.json" FWALLET="wallet.json" IDTXFEE=1 #color BLUE="\033[0;34m" YELLOW="\033[0;33m" CYAN="\033[0;36m" PURPLE="\033[0;35m" RED='\033[0;31m' GREEN="\033[0;32m" NC='\033[0m' MAG='\e[1;35m' if [[ "$USER" == "root" ]]; then HOMEFOLDER="/root/nkn-node" # echo -e "${RED}Do not install node in the root folder, please create new user${NC}" # exit 0 else HOMEFOLDER="/home/$USER/nkn-node" fi sudo apt update sudo apt install unzip cpulimit -y CURRENTDIR=$(pwd) if [ -d $HOMEFOLDER ] ; then cd $HOMEFOLDER ; else mkdir $HOMEFOLDER; cd $HOMEFOLDER; fi if [ -d nkn ]; then cd nkn git merge else git clone $GITPATH cd nkn fi LATEST_TAG=$(git tag --sort=-creatordate | head -1) cd .. if [ -f $DIR_NAME.zip ]; then rm $DIR_NAME.zip ; fi if [ -f nknd ]; then echo -e "${RED}Bin files exist!${NC}" else echo -e "${CYAN}Downloading bin files...${NC}" wget "$RELEASES_PATH/$LATEST_TAG/$DIR_NAME.zip" if [ -f $DIR_NAME.zip ]; then echo -e "${MAG}Unzipping bin files...${NC}" unzip $DIR_NAME.zip >/dev/null 2>&1 echo -e "${BLUE}Moving bin files...${NC}" mv $DIR_NAME/nkn* . mv $DIR_NAME/certs . mv $DIR_NAME/web . rm -rf $DIR_NAME rm $DIR_NAME.zip else echo -e "${YELLOW}Bin files not found. Do you want to compile? [Y,n]:${NC}" read -e ANSWER if [ -z $ANSWER ] || [ $ANSWER = 'Y' ] || [ $ANSWER = 'y' ]; then sudo add-apt-repository -y ppa:longsleep/golang-backports sudo apt-get install -y golang-go cd $HOMEFOLDER/nkn make mv nknd .. mv nknc .. cd $HOMEFOLDER fi fi fi ADDRESS=ВашКошелек echo -n -e "${YELLOW}Input Your BeneficiaryAddr:${NC}" echo $ADDRESS #read -e ADDRESS IDTXFEE=10 echo -n -e "${YELLOW}Input Your RegisterIDTxnFee in sat(default 1 sat):${NC}" #read -e IDTXFEE echo $IDTXFEE if [[ ! ${IDTXFEE} =~ ^[0-9]+$ ]] ; then IDTXFEE=1 ; fi echo # "RegisterIDTxnFee": $IDTXFEE, if [ -f $FCONFIG ]; then rm $FCONFIG ; fi cat << EOF > $FCONFIG { "BeneficiaryAddr": "$ADDRESS", "StatePruningMode": "lowmem", "SeedList": [ "http://mainnet-seed-0001.nkn.org:30003", "http://mainnet-seed-0002.nkn.org:30003", "http://mainnet-seed-0003.nkn.org:30003", "http://mainnet-seed-0004.nkn.org:30003", "http://mainnet-seed-0005.nkn.org:30003", "http://mainnet-seed-0006.nkn.org:30003", "http://mainnet-seed-0007.nkn.org:30003", "http://mainnet-seed-0008.nkn.org:30003", "http://mainnet-seed-0009.nkn.org:30003", "http://mainnet-seed-0010.nkn.org:30003", "http://mainnet-seed-0011.nkn.org:30003", "http://mainnet-seed-0012.nkn.org:30003", "http://mainnet-seed-0013.nkn.org:30003", "http://mainnet-seed-0014.nkn.org:30003", "http://mainnet-seed-0015.nkn.org:30003", "http://mainnet-seed-0016.nkn.org:30003", "http://mainnet-seed-0017.nkn.org:30003", "http://mainnet-seed-0018.nkn.org:30003", "http://mainnet-seed-0019.nkn.org:30003", "http://mainnet-seed-0020.nkn.org:30003", "http://mainnet-seed-0021.nkn.org:30003", "http://mainnet-seed-0022.nkn.org:30003", "http://mainnet-seed-0023.nkn.org:30003", "http://mainnet-seed-0024.nkn.org:30003", "http://mainnet-seed-0025.nkn.org:30003", "http://mainnet-seed-0026.nkn.org:30003", "http://mainnet-seed-0027.nkn.org:30003", "http://mainnet-seed-0028.nkn.org:30003", "http://mainnet-seed-0029.nkn.org:30003", "http://mainnet-seed-0030.nkn.org:30003", "http://mainnet-seed-0031.nkn.org:30003", "http://mainnet-seed-0032.nkn.org:30003", "http://mainnet-seed-0033.nkn.org:30003", "http://mainnet-seed-0034.nkn.org:30003", "http://mainnet-seed-0035.nkn.org:30003", "http://mainnet-seed-0036.nkn.org:30003", "http://mainnet-seed-0037.nkn.org:30003", "http://mainnet-seed-0038.nkn.org:30003", "http://mainnet-seed-0039.nkn.org:30003", "http://mainnet-seed-0040.nkn.org:30003", "http://mainnet-seed-0041.nkn.org:30003", "http://mainnet-seed-0042.nkn.org:30003", "http://mainnet-seed-0043.nkn.org:30003", "http://mainnet-seed-0044.nkn.org:30003" ], "GenesisBlockProposer": "a0309f8280ca86687a30ca86556113a253762e40eb884fc6063cad2b1ebd7de5" } EOF sleep 2 if [ -f $FWALLET ] ; then echo -e "${RED}Wallet already exist!${NC}" echo -n -e "${YELLOW}Input your wallet password:${NC}" read -e WPASSWORD else echo -e "${CYAN}Create new wallet...${NC}" WPASSWORD=12345 echo -n -e "${YELLOW}Input your wallet password:${NC}" #read -e WPASSWORD echo $WPASSWORD echo -e "${GREEN}" ./nknc wallet -c -p $WPASSWORD echo -e "${NC}" #echo -n -e "${YELLOW}Send $IDTXFEE sat nkn to address and press <ENTER>${NC}" #read -e ANSWER fi sleep 2 echo -e "${CYAN}Creating nkn service...${NC}" echo "[Unit]" > nkn.service echo "Description=nkn" >> nkn.service echo "[Service]" >> nkn.service echo -e "User=$USER" >> nkn.service echo -e "WorkingDirectory=$HOMEFOLDER" >> nkn.service echo -e "ExecStart=$HOMEFOLDER/nknd -p $WPASSWORD" >> nkn.service echo "Restart=always" >> nkn.service echo "RestartSec=3" >> nkn.service echo "LimitNOFILE=500000" >> nkn.service echo "[Install]" >> nkn.service echo "WantedBy=default.target" >> nkn.service sudo cp nkn.service /etc/systemd/system/nkn.service sudo systemctl enable nkn.service rm nkn.service echo -e "${CYAN}firewall setup...${NC}" sudo ufw allow 30001/tcp sudo ufw allow 30002/tcp sudo ufw allow 30003/tcp sudo ufw allow 30004/tcp sudo ufw allow 30005/tcp ANSWER=y echo -e "${YELLOW}Do you want to download bootstrap file? [Y,n]: ${NC}" echo $ANSWER #read -e ANSWER if [ -z $ANSWER ] || [ $ANSWER = 'Y' ] || [ $ANSWER = 'y' ]; then cd $HOMEFOLDER wget https://nkn.org/ChainDB_pruned_latest.zip sudo cpulimit -l 60 unzip ChainDB_pruned_latest.zip | tr '\n' '\r' > /dev/null 2>&1 rm -rf ChainDB_pruned_latest.zip fi echo -e "${CYAN}Starting nkn service...${NC}" sudo systemctl start nkn.service echo #echo -e "${GREEN}" #./nknc wallet -l account -p $WPASSWORD #echo -e "${NC}" echo -e "${MAG}Nkn node control:${NC}" echo -e "${CYAN}Start nkn node: ${BLUE}sudo systemctl start nkn.service${NC}" echo -e "${CYAN}Stop nkn node: ${BLUE}sudo systemctl stop nkn.service${NC}" echo -e "${CYAN}Enabe nkn service: ${BLUE}sudo systemctl enable nkn.service${NC}" echo -e "${CYAN}Disable nkn service: ${BLUE}sudo systemctl disable nkn.service${NC}" echo -e "${CYAN}Status nkn node: ${BLUE}sudo systemctl status nkn.service${NC}" echo -e "${BLUE}or use command ./nknc info --state for statistics${NC}" echo -e "${CYAN}For nkn.service file editing: ${BLUE}sudo nano /etc/systemd/system/nkn.service${NC}" echo -e "${CYAN}After editing nkn.service file: ${BLUE}sudo systemctl daemon-reload${NC}" cd $CURRENTDIR bash ВАШАДЕРИКТОРИЯ/autoupdate.sh rm -rf nkn secs=$((3 * 60)) while [ $secs -gt 0 ]; do echo -ne "${YELLOW}Please wait 3 minuts... $secs\033[0K\r${NC}" sleep 1 : $((secs--)) done echo nkn-node/nknc info -s Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Msrybin Опубликовано 25 августа, 2021 Автор Поделиться Опубликовано 25 августа, 2021 git clone https://github.com/логинgithub/вашадериктория bash вашадериктория/install.sh Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.