├── asdsfd.sh ├── rivalz_delete.sh ├── artela.sh ├── template.sh ├── network3.sh ├── rivalz.sh ├── dria.sh ├── openledger.sh ├── nexus.sh ├── cysic.sh ├── README.md ├── nillion.sh ├── infera.sh ├── glacier.sh ├── nesa.sh ├── unichain.sh ├── privasea.sh ├── vana.sh ├── hyperlane.sh ├── pipe.sh ├── fractal.sh ├── soneium.sh ├── hyperspace.sh ├── gensyn.sh ├── gaia.sh ├── titan.sh ├── allora.sh ├── story.sh ├── nexus_second.sh ├── t3rn.sh ├── hemi.sh └── ocean.sh /asdsfd.sh: -------------------------------------------------------------------------------- 1 | adsadasd 2 | -------------------------------------------------------------------------------- /rivalz_delete.sh: -------------------------------------------------------------------------------- 1 | sudo npm uninstall -g rivalz-node-cli 2 | 3 | cd $HOME 4 | 5 | sudo rm -r .rivalz/ 6 | 7 | ps aux | grep rivalz | awk '{print $2}' | xargs -I {} sudo kill -9 {} 8 | 9 | echo 'Все удалилось. Теперь перезагрузите ваш сервер.' 10 | -------------------------------------------------------------------------------- /artela.sh: -------------------------------------------------------------------------------- 1 | apt install curl iptables build-essential git wget jq make gcc nano tmux htop lz4 nvme-cli pkg-config libssl-dev libleveldb-dev tar clang bsdmainutils ncdu unzip libleveldb-dev -y 2 | 3 | sudo rm -rf /usr/local/go 4 | 5 | curl -L https://go.dev/dl/go1.21.6.linux-amd64.tar.gz | sudo tar -xzf - -C /usr/local 6 | 7 | echo 'export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin' >> $HOME/.bash_profile 8 | 9 | source .bash_profile 10 | 11 | sudo apt install build-essential jq wget git curl -y 12 | 13 | cd $HOME 14 | 15 | git clone https://github.com/artela-network/artela.git 16 | 17 | cd artela 18 | 19 | git checkout main 20 | -------------------------------------------------------------------------------- /template.sh: -------------------------------------------------------------------------------- 1 | channel_logo() { 2 | echo -e '\033[0;31m' 3 | echo -e '┌┐ ┌─┐┌─┐┌─┐┌┬┐┬┬ ┬ ┌─┐┬ ┬┌┐ ┬┬ ' 4 | echo -e '├┴┐│ ││ ┬├─┤ │ │└┬┘ └─┐└┬┘├┴┐││ ' 5 | echo -e '└─┘└─┘└─┘┴ ┴ ┴ ┴ ┴ └─┘ ┴ └─┘┴┴─┘' 6 | echo -e '\e[0m' 7 | echo -e "\n\nПодпишись на самый 4ekHyTbIu* канал в крипте @bogatiy_sybil [💸]" 8 | } 9 | 10 | download_node() { 11 | echo 'Hello' 12 | } 13 | 14 | exit_from_script() { 15 | exit 0 16 | } 17 | 18 | while true; do 19 | channel_logo 20 | sleep 2 21 | echo -e "\n\nМеню:" 22 | echo "1. Установить ноду" 23 | echo -e "2. Выйти из скрипта\n" 24 | read -p "Выберите пункт меню: " choice 25 | 26 | case $choice in 27 | 1) 28 | download_node 29 | ;; 30 | 2) 31 | exit_from_script 32 | ;; 33 | *) 34 | echo "Неверный пункт. Пожалуйста, выберите правильную цифру в меню." 35 | ;; 36 | esac 37 | done 38 | -------------------------------------------------------------------------------- /network3.sh: -------------------------------------------------------------------------------- 1 | channel_logo() { 2 | echo -e '\033[0;31m' 3 | echo -e '┌┐ ┌─┐┌─┐┌─┐┌┬┐┬┬ ┬ ┌─┐┬ ┬┌┐ ┬┬ ' 4 | echo -e '├┴┐│ ││ ┬├─┤ │ │└┬┘ └─┐└┬┘├┴┐││ ' 5 | echo -e '└─┘└─┘└─┘┴ ┴ ┴ ┴ ┴ └─┘ ┴ └─┘┴┴─┘' 6 | echo -e '\e[0m' 7 | echo -e "\n\nПодпишись на самый 4ekHyTbIu* канал в крипте @bogatiy_sybil [💸]" 8 | } 9 | 10 | download_node() { 11 | echo 'Начинаю установку...' 12 | 13 | cd $HOME 14 | 15 | sudo apt install lsof 16 | 17 | ports=(1433 8080) 18 | 19 | for port in "${ports[@]}"; do 20 | if [[ $(lsof -i :"$port" | wc -l) -gt 0 ]]; then 21 | echo "Ошибка: Порт $port занят. Программа не сможет выполниться." 22 | exit 1 23 | fi 24 | done 25 | 26 | sudo apt update -y && sudo apt upgrade -y 27 | 28 | sudo dpkg --configure -a 29 | 30 | sudo apt install screen net-tools iptables jq curl -y 31 | 32 | wget https://network3.io/ubuntu-node-v2.1.0.tar 33 | tar -xvf ubuntu-node-v2.1.0.tar 34 | sudo rm -rf ubuntu-node-v2.1.0.tar 35 | 36 | cd $HOME/ubuntu-node 37 | 38 | screen -dmS network3 bash -c ' 39 | echo "Начало выполнения скрипта в screen-сессии" 40 | 41 | sudo bash manager.sh up 42 | 43 | exec bash 44 | ' 45 | 46 | echo 'Ваша нода была запущена.' 47 | } 48 | 49 | launch_node() { 50 | cd $HOME/ubuntu-node 51 | sudo bash manager.sh up 52 | } 53 | 54 | stop_node() { 55 | cd $HOME/ubuntu-node 56 | sudo bash manager.sh down 57 | } 58 | 59 | check_points() { 60 | my_ip=$(hostname -I | awk '{print $1}') 61 | total_points=$(curl -s http://$my_ip:8080/detail | jq '.earnings.total') 62 | echo -e "У вас столько поинтов: $total_points" 63 | } 64 | 65 | check_private_key() { 66 | cd $HOME/ubuntu-node 67 | sudo bash manager.sh key 68 | } 69 | 70 | exit_from_script() { 71 | exit 0 72 | } 73 | 74 | while true; do 75 | channel_logo 76 | sleep 2 77 | echo -e "\n\nМеню:" 78 | echo "1. 🔧 Установить ноду" 79 | echo "2. 🚀 Запустить ноду" 80 | echo "3. ⛔ Остановить ноду" 81 | echo "4. 🎯 Проверить количество поинтов" 82 | echo "5. 🔑 Посмотреть приватный ключ" 83 | echo -e "6. ❌ Выйти из скрипта\n" 84 | read -p "Выберите пункт меню: " choice 85 | 86 | case $choice in 87 | 1) 88 | download_node 89 | ;; 90 | 2) 91 | launch_node 92 | ;; 93 | 3) 94 | stop_node 95 | ;; 96 | 4) 97 | check_points 98 | ;; 99 | 5) 100 | check_private_key 101 | ;; 102 | 6) 103 | exit_from_script 104 | ;; 105 | *) 106 | echo "Неверный пункт. Пожалуйста, выберите правильную цифру в меню." 107 | ;; 108 | esac 109 | done 110 | -------------------------------------------------------------------------------- /rivalz.sh: -------------------------------------------------------------------------------- 1 | channel_logo() { 2 | echo -e '\033[0;31m' 3 | echo -e '┌┐ ┌─┐┌─┐┌─┐┌┬┐┬┬ ┬ ┌─┐┬ ┬┌┐ ┬┬ ' 4 | echo -e '├┴┐│ ││ ┬├─┤ │ │└┬┘ └─┐└┬┘├┴┐││ ' 5 | echo -e '└─┘└─┘└─┘┴ ┴ ┴ ┴ ┴ └─┘ ┴ └─┘┴┴─┘' 6 | echo -e '\e[0m' 7 | echo -e "\n\nПодпишись на самый 4ekHyTbIu* канал в крипте @bogatiy_sybil [💸]" 8 | } 9 | 10 | while true; do 11 | channel_logo 12 | sleep 2 13 | echo -e "\n\nМеню:" 14 | echo "1. Установить ноду Rivalz" 15 | echo "2. Обновить ноду" 16 | echo "3. Поменять кошелек" 17 | echo "4. Поменять потребляемое кол-во места диска" 18 | echo "5. Информация о ноде" 19 | echo "6. Исправить ошибку Running on another..." 20 | echo "7. Удалить ноду" 21 | echo -e "8. Выйти из скрипта\n" 22 | read -p "Выберите пункт меню: " choice 23 | 24 | case $choice in 25 | 1) 26 | echo "Начинаю установку ноды..." 27 | 28 | # Upgrade dependencies 29 | echo "Происходит обновление пакетов..." 30 | if sudo apt update && sudo apt upgrade -y; then 31 | echo "Обновление пакетов: Успешно" 32 | else 33 | echo "Обновление пакетов: Ошибка" 34 | exit 1 35 | fi 36 | 37 | # Screen libary 38 | echo "Установка screen..." 39 | if sudo apt-get install screen -y; then 40 | echo "Установка screen: Успешно" 41 | else 42 | echo "Установка screen: Ошибка" 43 | exit 1 44 | fi 45 | 46 | # Install node.js 47 | echo "Скачиваем Node.Js..." 48 | curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - 49 | if sudo apt install -y nodejs; then 50 | echo "Устанвока Node.Js: Успешно" 51 | else 52 | echo "Установка Node.Js: Ошибка" 53 | exit 1 54 | fi 55 | 56 | # Установка ноды Rivalz 57 | echo "Установка ноды Rivalz..." 58 | npm i -g rivalz-node-cli 59 | 60 | rivalz run 61 | ;; 62 | 2) 63 | npm i -g rivalz-node-cli@3.0.1 64 | 65 | rivalz run 66 | ;; 67 | 3) 68 | rivalz change-wallet 69 | ;; 70 | 4) 71 | rivalz change-hardware-config 72 | ;; 73 | 5) 74 | rivalz info 75 | ;; 76 | 6) 77 | echo "Начинаю делать исправление..." 78 | rm -f /etc/machine-id 79 | dbus-uuidgen --ensure=/etc/machine-id 80 | cp /etc/machine-id /var/lib/dbus/machine-id 81 | echo "Готово!" 82 | ;; 83 | 7) 84 | sudo npm uninstall -g rivalz-node-cli 85 | ;; 86 | 8) 87 | exit 0 88 | ;; 89 | *) 90 | echo "Неверная пункт. Пожалуйста, выберите правильную цифру в меню." 91 | ;; 92 | esac 93 | done 94 | -------------------------------------------------------------------------------- /dria.sh: -------------------------------------------------------------------------------- 1 | channel_logo() { 2 | echo -e '\033[0;31m' 3 | echo -e '┌┐ ┌─┐┌─┐┌─┐┌┬┐┬┬ ┬ ┌─┐┬ ┬┌┐ ┬┬ ' 4 | echo -e '├┴┐│ ││ ┬├─┤ │ │└┬┘ └─┐└┬┘├┴┐││ ' 5 | echo -e '└─┘└─┘└─┘┴ ┴ ┴ ┴ ┴ └─┘ ┴ └─┘┴┴─┘' 6 | echo -e '\e[0m' 7 | echo -e "\n\nПодпишись на самый 4ekHyTbIu* канал в крипте @bogatiy_sybil [💸]" 8 | } 9 | 10 | download_node() { 11 | echo 'Начинаю установку ноды...' 12 | 13 | cd $HOME 14 | 15 | sudo apt install lsof 16 | 17 | ports=(4001) 18 | 19 | for port in "${ports[@]}"; do 20 | if [[ $(lsof -i :"$port" | wc -l) -gt 0 ]]; then 21 | echo "Ошибка: Порт $port занят. Программа не сможет выполниться." 22 | exit 1 23 | fi 24 | done 25 | 26 | sudo apt-get update -y && sudo apt-get upgrade -y 27 | sudo apt install -y wget make tar screen nano unzip lz4 gcc git jq 28 | 29 | if screen -list | grep -q "drianode"; then 30 | screen -ls | grep drianode | cut -d. -f1 | awk '{print $1}' | xargs kill 31 | fi 32 | 33 | if [ -d "$HOME/.dria" ]; then 34 | dkn-compute-launcher uninstall 35 | sudo rm rf .dria/ 36 | fi 37 | 38 | curl -fsSL https://ollama.com/install.sh | sh 39 | 40 | curl -fsSL https://dria.co/launcher | bash 41 | 42 | source ~/.bashrc 43 | 44 | screen -S drianode 45 | 46 | echo 'Теперь запускайте ноду.' 47 | } 48 | 49 | launch_node() { 50 | dkn-compute-launcher start 51 | } 52 | 53 | settings_node() { 54 | dkn-compute-launcher settings 55 | } 56 | 57 | node_points() { 58 | dkn-compute-launcher points 59 | } 60 | 61 | models_check() { 62 | dkn-compute-launcher info 63 | } 64 | 65 | delete_node() { 66 | dkn-compute-launcher uninstall 67 | 68 | if screen -list | grep -q "drianode"; then 69 | screen -ls | grep drianode | cut -d. -f1 | awk '{print $1}' | xargs kill 70 | fi 71 | } 72 | 73 | exit_from_script() { 74 | exit 0 75 | } 76 | 77 | while true; do 78 | channel_logo 79 | sleep 2 80 | echo -e "\n\nМеню:" 81 | echo "1. 🤺 Установить ноду" 82 | echo "2. 🚀 Запустить ноду" 83 | echo "3. ⚙️ Настройки ноды" 84 | echo "4. 📊 Проверить очки ноды" 85 | echo "5. 🔍 Проверить модели установленные" 86 | echo "6. 🗑️ Удалить ноду" 87 | echo "7. 👋 Выйти из скрипта" 88 | read -p "Выберите пункт меню: " choice 89 | 90 | case $choice in 91 | 1) 92 | download_node 93 | ;; 94 | 2) 95 | launch_node 96 | ;; 97 | 3) 98 | settings_node 99 | ;; 100 | 4) 101 | node_points 102 | ;; 103 | 5) 104 | models_check 105 | ;; 106 | 6) 107 | delete_node 108 | ;; 109 | 7) 110 | exit_from_script 111 | ;; 112 | *) 113 | echo "Неверный пункт. Пожалуйста, выберите правильную цифру в меню." 114 | ;; 115 | esac 116 | done 117 | -------------------------------------------------------------------------------- /openledger.sh: -------------------------------------------------------------------------------- 1 | channel_logo() { 2 | echo -e '\033[0;31m' 3 | echo -e '┌┐ ┌─┐┌─┐┌─┐┌┬┐┬┬ ┬ ┌─┐┬ ┬┌┐ ┬┬ ' 4 | echo -e '├┴┐│ ││ ┬├─┤ │ │└┬┘ └─┐└┬┘├┴┐││ ' 5 | echo -e '└─┘└─┘└─┘┴ ┴ ┴ ┴ ┴ └─┘ ┴ └─┘┴┴─┘' 6 | echo -e '\e[0m' 7 | echo -e "\n\nПодпишись на самый 4ekHyTbIu* канал в крипте @bogatiy_sybil [💸]" 8 | } 9 | 10 | download_node() { 11 | echo 'Начинаю установку ноды...' 12 | 13 | cd $HOME 14 | 15 | sudo apt update -y && sudo apt upgrade -y 16 | 17 | echo "Удаление старых версий Docker..." 18 | for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do 19 | sudo apt-get remove -y "$pkg" 20 | if [ $? -eq 0 ]; then 21 | echo "$pkg успешно удален." 22 | else 23 | echo "Ошибка при удалении $pkg. Пропускаем..." 24 | fi 25 | done 26 | 27 | sudo apt install curl git build-essential jq pkg-config software-properties-common dos2unix ubuntu-desktop desktop-file-utils -y 28 | 29 | curl -fsSL https://get.docker.com -o get-docker.sh 30 | sudo sh get-docker.sh 31 | sudo usermod -aG docker $USER 32 | 33 | sudo curl -L "https://github.com/docker/compose/releases/download/$(curl -s https://api.github.com/repos/docker/compose/releases/latest | jq -r .tag_name)/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose 34 | sudo chmod +x /usr/local/bin/docker-compose 35 | 36 | sudo rm get-docker.sh 37 | 38 | sudo apt update -y 39 | sudo systemctl start gdm 40 | 41 | wget https://cdn.openledger.xyz/openledger-node-1.0.0-linux.zip 42 | unzip openledger-node-1.0.0-linux.zip 43 | sudo dpkg -i openledger-node-1.0.0.deb 44 | 45 | echo "Запускаем OpenLedger..." 46 | openledger-node --no-sandbox 47 | } 48 | 49 | launch_node() { 50 | echo "Запускаем OpenLedger..." 51 | openledger-node --no-sandbox 52 | } 53 | 54 | check_logs() { 55 | docker logs opl_worker 56 | } 57 | 58 | delete_node() { 59 | echo "Удаляем OpenLedger..." 60 | 61 | docker stop opl_worker 62 | docker rm opl_worker 63 | 64 | sudo rm openledger-node-1.0.0.deb 65 | sudo rm openledger-node-1.0.0-linux.zip 66 | 67 | sudo apt-get remove -y openledger-node 68 | 69 | echo "OpenLedger удален." 70 | } 71 | 72 | exit_from_script() { 73 | exit 0 74 | } 75 | 76 | while true; do 77 | channel_logo 78 | sleep 2 79 | echo -e "\n\nМеню:" 80 | echo "1. ✅ Установить ноду" 81 | echo "2. 🚀 Запустить ноду" 82 | echo "3. 📄 Проверить логи" 83 | echo "4. ❌ Удалить ноду" 84 | echo -e "5. 🚪 Выйти из скрипта\n" 85 | read -p "Выберите пункт меню: " choice 86 | 87 | case $choice in 88 | 1) 89 | download_node 90 | ;; 91 | 2) 92 | launch_node 93 | ;; 94 | 3) 95 | check_logs 96 | ;; 97 | 4) 98 | delete_node 99 | ;; 100 | 5) 101 | exit_from_script 102 | ;; 103 | *) 104 | echo "Неверный пункт. Пожалуйста, выберите правильную цифру в меню." 105 | ;; 106 | esac 107 | done 108 | -------------------------------------------------------------------------------- /nexus.sh: -------------------------------------------------------------------------------- 1 | channel_logo() { 2 | echo -e '\033[0;31m' 3 | echo -e '┌┐ ┌─┐┌─┐┌─┐┌┬┐┬┬ ┬ ┌─┐┬ ┬┌┐ ┬┬ ' 4 | echo -e '├┴┐│ ││ ┬├─┤ │ │└┬┘ └─┐└┬┘├┴┐││ ' 5 | echo -e '└─┘└─┘└─┘┴ ┴ ┴ ┴ ┴ └─┘ ┴ └─┘┴┴─┘' 6 | echo -e '\e[0m' 7 | echo -e "\n\nПодпишись на самый 4ekHyTbIu* канал в крипте @bogatiy_sybil [💸]" 8 | } 9 | 10 | download_node() { 11 | echo 'Начинаю установку...' 12 | 13 | sudo apt update -y && sudo apt upgrade -y 14 | sudo apt-get install nano screen cargo build-essential pkg-config libssl-dev git-all protobuf-compiler jq make software-properties-common ca-certificates curl 15 | 16 | curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh 17 | 18 | source $HOME/.cargo/env 19 | echo 'export PATH="$HOME/.cargo/bin:$PATH"' >> ~/.bashrc 20 | source ~/.bashrc 21 | rustup update 22 | 23 | screen -dmS nexusnode bash -c ' 24 | echo "Начало выполнения скрипта в screen-сессии" 25 | 26 | sudo curl https://cli.nexus.xyz/ | sh 27 | 28 | exec bash 29 | ' 30 | } 31 | 32 | go_to_screen() { 33 | screen -r nexusnode 34 | } 35 | 36 | check_prover_id() { 37 | prover_id=$(cat ~/.nexus/prover-id) 38 | echo -e "Ваш PROVER ID: $prover_id" 39 | } 40 | 41 | change_prover_id() { 42 | read -p "Введите ваш Prover id: " new_prover_id 43 | 44 | file_path="$HOME/.nexus/prover-id" 45 | 46 | if [ -f "$file_path" ]; then 47 | echo "$new_prover_id" > "$file_path" 48 | echo "Prover id успешно обновлен." 49 | restart_node 50 | else 51 | echo "Файл $file_path не найден." 52 | fi 53 | } 54 | 55 | check_logs() { 56 | screen -S nexusnode -X hardcopy /tmp/screen_log.txt && sleep 0.1 && tail -n 100 /tmp/screen_log.txt && rm /tmp/screen_log.txt 57 | } 58 | 59 | restart_node() { 60 | echo 'Начинаю перезагрузку...' 61 | 62 | session="nexusnode" 63 | 64 | if screen -list | grep -q "\.${session}"; then 65 | screen -S "${session}" -p 0 -X stuff "^C" 66 | sleep 1 67 | screen -S "${session}" -p 0 -X stuff "sudo curl https://cli.nexus.xyz/ | sh\n" 68 | echo "Нода была перезагружена." 69 | else 70 | echo "Сессия ${session} не найдена." 71 | fi 72 | } 73 | 74 | delete_node() { 75 | screen -S nexusnode -X quit 76 | sudo rm -r $HOME/.nexus/ 77 | } 78 | 79 | exit_from_script() { 80 | exit 0 81 | } 82 | 83 | while true; do 84 | channel_logo 85 | sleep 2 86 | echo -e "\n\nМеню:" 87 | echo "1. 🛠️ Установить ноду" 88 | echo "2. 📂 Перейти в ноду (выйти CTRL+A D)" 89 | echo "3. 🆔 Посмотреть PROVER ID" 90 | echo "4. 🆔 Поменять PROVER ID" 91 | echo "5. 📜 Посмотреть логи" 92 | echo "6. 🔄 Перезапустить ноду" 93 | echo "7. ❌ Удалить ноду" 94 | echo -e "8. 🚪 Выйти из скрипта\n" 95 | read -p "Выберите пункт меню: " choice 96 | 97 | case $choice in 98 | 1) 99 | download_node 100 | ;; 101 | 2) 102 | go_to_screen 103 | ;; 104 | 3) 105 | check_prover_id 106 | ;; 107 | 4) 108 | change_prover_id 109 | ;; 110 | 5) 111 | check_logs 112 | ;; 113 | 6) 114 | restart_node 115 | ;; 116 | 7) 117 | delete_node 118 | ;; 119 | 8) 120 | exit_from_script 121 | ;; 122 | *) 123 | echo "Неверный пункт. Пожалуйста, выберите правильную цифру в меню." 124 | ;; 125 | esac 126 | done 127 | -------------------------------------------------------------------------------- /cysic.sh: -------------------------------------------------------------------------------- 1 | channel_logo() { 2 | echo -e '\033[0;31m' 3 | echo -e '┌┐ ┌─┐┌─┐┌─┐┌┬┐┬┬ ┬ ┌─┐┬ ┬┌┐ ┬┬ ' 4 | echo -e '├┴┐│ ││ ┬├─┤ │ │└┬┘ └─┐└┬┘├┴┐││ ' 5 | echo -e '└─┘└─┘└─┘┴ ┴ ┴ ┴ ┴ └─┘ ┴ └─┘┴┴─┘' 6 | echo -e '\e[0m' 7 | echo -e "\n\nПодпишись на самый 4ekHyTbIu* канал в крипте @bogatiy_sybil [💸]" 8 | } 9 | 10 | download_node() { 11 | if [ -d "$HOME/cysic-verifier" ]; then 12 | echo 'Папка cysic-verifier уже существует. Установка невозможна.' 13 | return 14 | fi 15 | 16 | echo 'Начинаю установку ноды...' 17 | 18 | while true; do 19 | read -p "Введите адрес вашего EVM кошелька (начиная с 0x который): " EVM_WALLET 20 | CLEAN_WALLET="${EVM_WALLET#0x}" 21 | if [[ ${#CLEAN_WALLET} == 40 ]]; then 22 | EVM_WALLET="0x${CLEAN_WALLET}" 23 | break 24 | else 25 | echo "Ошибка: Неверная длина адреса. EVM адрес должен быть 40 символов (без 0x) или 42 символа (с 0x)" 26 | fi 27 | done 28 | 29 | sudo apt update -y && sudo apt upgrade -y 30 | sudo apt-get install make screen build-essential software-properties-common curl git nano jq -y 31 | 32 | curl -L https://github.com/cysic-labs/phase2_libs/releases/download/v1.0.0/setup_linux.sh > ~/setup_linux.sh && bash ~/setup_linux.sh $EVM_WALLET 33 | 34 | sudo tee /etc/systemd/system/cysic.service > /dev/null <