Запуск Blockchain программ с помощью Python и JavaScript
thermal_opАвтор: DuneLabs
Большинство программ для боттинга, крипто-хантинга и других активностей, скачивается напрямую с GitHub в виде исходного кода, который может быть написан на самых разных языках программирования. Установка зависимостей и запуск этого ПО для многих обычных пользователей является проблемой, так как не хватает базовых технических знаний работы с терминалом/командной строкой.
В этом материале вы найдете пошаговую инструкцию по запуску программного обеспечения(исходного кода), написано на Python или JavaScript.
Запуск софта будет рассмотрен на следующих операционных системах:
- Windows
- Linux
- MacOS
По каждой из операционных систем будут даны соответствующие команды для установки и запуска исходного кода, скачанного с GitHub.
Вводная часть
Каждый проект на GitHub представляет собой репозиторий, или иными словами хранилище, куда программист загружает свой исходный код в виде файлов. Каждая программа может иметь множество файлов, называемые модулями, которые содержат различный функционал для программы.
Обычно требуется скачивать все файлы из репозитория чтобы запустить программу. У программ обычно существует так называемая Точка Входа или Entry Point. Это тот файл, который пользователь обычно у себя запускает в командной строке и программа начинает работу, например main.py(Python) или main.js(JavaScript).
У многих существует страх скачивать любые файлы из репозиториев, так как существует ложное представление, что скачав какой-то файл, вы сразу заразите свой компьютер вредоносным ПО - спешу успокоить, это не так.
Когда вы скачиваете проект с GitHub в виде архива либо клонируете репозиторий, то для того, чтобы заразить компьютер каким-то вредоносным ПО, вам нужно запустить определенный файл. Причем запустить не означает открыть его в блокноте/текстовом редакторе, а исполнить исходный код, который находится в файле, или запустить какой-то исполняемый файл, например (.exe, .sh, .elf и т.д.)
Путей заражения через GitHub фактически два:
- Запустить исходный код, который вы скачали с GitHub, используя Python или Node.js
- Запустить бинарный/исполняемый файл.
В следующем материале будет описано, каким образом можно работать с неизвестными файлами, которые могут представлять угрозу для системы. Новые материалы ищите в Телеграмм канале DuneLabs, а если есть вопросы присоединяйтесь в чат проекта.
Шаг 1: Установка Git
Сразу нужно отметить, что Git и GitHub - это разные вещи. Git - это программное обеспечение, а GitHub это облачная платформа для хранения файлов, которая позволяет взаимодействовать с собой через Git.
Заходим на официальный сайт Git и скачиваем установщик:
Windows
Зайдите на официальный сайт Git в раздел загрузок, и выберите разрядность системы(х32, или х64), скачайте Git и установите его.
MacOS
Установка Homebrew
Сперва установите Homebrew - это менеджер пакетов для MacOS. Позволяет устанавливать различное ПО из официальных источников.
Установка происходит с помощью запуска следующей команды в терминале/командной строке:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
После установки Homebrew, вам требуется добавить его исполняемый файл в системный путь, чтобы можно было запускать Homebrew из терминала/командной строки.
Для начала определите тип терминала/командной строки, которую вы используете, запустив следующую команду в терминале:
echo $0
Вам может вернутся одно из двух значений: bash или zsh
В зависимости от того, что вернулось вам нужно запустить одну из следующих двух команд для редактирования системного пути:
Если у вас zsh терминал, то введите следующую команду:
nano ~/.zshrc
Для bash терминала запустите команду ниже:
nano ~/.bash_profile
Вам откроется файл, в котором вам нужно на любую пустую строку вставить следующий системный путь к исполняемому файлу Homebrew:
export PATH=/usr/local/bin:$PATH
После добавления системного пути, закройте текстовой редактор nano, нажав одновременно комбинацию клавиш CTRL и X, и сразу после этого нажмите Y и кнопку Enter для сохранения изменений.
Чтобы активировать эти изменения системного пути без перезагрузки системы, вам нужно использовать следующую команду:
Для zsh терминала выполните следующую команду:
source ~/.zshrc
Для bash терминала запустите команду ниже:
source ~/.bash_profile
Если все действия выполнены верно, то проверить если Homebrew доступен в терминале можно с помощью команды:
which brew
Вам должен вернуться путь к исполняемому файлу Homebrew:
/usr/local/bin/brew
Установка Git
Откройте терминал/командную строку и введите следующую команду для установки Git:
brew install git
Linux
На странице для скачивания версии Git для Linux выберите подходящий дистрибутив и запустите соответствующую команду в терминале:
https://git-scm.com/download/linux
Шаг 2: Клонирование репозитория
Клонирование репозитория подразумевает использование установленной программы Git для скачивания содержимого репозитория вам на компьютер. Для скачивания всего репозитория, убедитесь что вы находитесь в корневой папке проекта.
Возьмем как основной пример недавно проверенный исходный код проекта YogaPetz для боттинга. Для клонирования целого репозитория, используется обычная ссылка на репозиторий GitHub:
https://github.com/the-laziest-coder/yoga-petz
Чтобы убедиться, что вы находитесь в корневой папке репозитория, которую вы и планируете скачать, ваша ссылка должна содержать
- Домен https://github.com/
- Никнейм пользователя, кому принадлежит репозиторий: the-laziest-coder
- Название репозитория: yoga-petz
Соединив все три значения, мы получаем путь к корневой папке репозитория. А все что находится за названием репозитория yoga-petz, является папками, либо отдельными файлами.
Перейдите в нужную вам директорию, в которую вы собираетесь клонировать репозиторий, нажмите правую кнопку мыши и в контекстном меню выберите терминал(MacOS и Linux), в случае с Windows выберите из контекстного меню Git Bash.
В открывшемся окне введите следующую команду, чтобы клонировать репозиторий:
git clone https://github.com/the-laziest-coder/yoga-petz
После получения файлов, мы должны установить Python либо Node.js той версии, которая указана должна быть в readme.md файле проекта.
Файл readme.md содержит детальную информацию о проекте, а именно: настройка проекта, запуск, использование, а также другую важную информацию. Если этот файл пуст или отсутствует, то автор репозитория не позаботился о том, чтобы оставить нужные детали.
В зависимости от того, на каком языке был написан проект, вам требуется установить Python или Node.js для запуска программы. В следующих секциях материала вы найдете нужные инструкции по установке соответствующего языка.
Шаг 3: Установка Python
Основной принцип по выбору версии Python должен основываться на требованиях к проекту, скачанного с GitHub. Автор программы может указать в файле readme.md какая именно версия нужна для запуска скрипта/программы, например это может быть Python3.09. Соответственно эту версию для запуска проекта и нужно установить.
Иногда авторы проекта не указывают нужную версию Python, в этих случаях вам нужно использовать последнюю версию.
Бывает такое, что автор не указал нужную версию Python, а вы использовали самую последнюю версию и у вас возникла ошибка при запуске программы, то обычно в терминале будет указано, какая именно версия должна быть использована.
Важно!
Вы можете установить сколько угодно разных версий Python, каждая из которых будет использоваться для конкретного проекта. К примеру, у вас может быть установлена последняя версия 2024 года(python3.12), и еще множество других версий: python3.10(2021 год), python3.09(2020 год) и так далее.
Установка для Windows и MacOS
Зайдите на официальный сайт Python в раздел загрузки(Downloads), и нажмите на желтую кнопку Download Python, чтобы скачать самую последнюю версию. Сайт автоматически выберет последнюю версию Python для вашей системы и начнется загрузка.

Важно!
После окончания загрузки запустите установщик и обязательно нажмите на чекбокс Add Python to PATH. Если вы не выберите эту опцию, то после установки вам нужно будет вручную указывать путь к исполняемым файлам Python в настройках системы. Без этого Python не будет запускаться через командную строку/терминал.
Следуйте всем дальнейшим инструкциям установщика до момента полной установки.

Определенная версия Python
Если вам понадобилась конкретная версия Python, которая указана в проекте на GitHub, то снова откройте официальный сайт Python и выберите раздел загрузки для Windows или MacOS.
Вам откроется страница, на которой будут доступно огромное количество разных версий Python. Выберите нужную, скачайте и установите. В установщике не забудьте нажать на чекбокс/опцию Add Python to PATH, чтобы ваша система видела новый установленный Python.

Дополнительно для MacOS
Вы также можете использовать Homebrew для установки определенных версий Python. Для этого введите следующую команду в терминале/командой строке:
brew install python@3.9
Сразу после знака @ должна быть указанна нужная версия Python, которую вы скачаете и установите, к примеру python@3.11 .
Установка для Linux
Зачастую многие дистрибутивы Linux уже идут с предустановленным Python, которого достаточно для запуска многих программ/скриптов. В инструкциях ниже мы также рассмотрим два варианта:
- Установка самой последней версии используя архив, скачанный с официального сайта.
- Установка определенной версии Python, используя командную строку.
Установка последней версии
Зайдите на официальный сайт Python в раздел загрузки(Downloads), и нажмите на желтую кнопку Download Python, чтобы скачать самую последнюю версию. Сайт автоматически выберет последнюю версию Python для вашего дистрибутива. Python будет скачан в виде архива, который нужно будет распаковать и скомпилировать исходный код.

Распакуйте архив и откройте терминал внутри папки с Python.
Debian/Ubuntu
Обновите список пакетов APT:
sudo apt-get update
Далее, установите нужные зависимости для компиляции Python:
sudo apt-get install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget
В терминале введите три команды по очереди:
./configure --enable-optimizations make -j$(nproc) sudo make altinstall
Опция altinstall позволит установить Python таким образом, чтобы текущая версия Python, которая по умолчанию установлена в системе не была затронута.
Проверьте, что Python установлен корректно, введя в терминал следующую команду:
python3.x.x --version
Замените 3.x.x на установленную версию Python.
Arch
Обновите список пакетов Pacman:
sudo pacman -Sy
Далее, установите нужные зависимости для компиляции Python:
sudo pacman -S base-devel zlib ncurses gdbm openssl readline sqlite libffi wget
В терминале введите три команды по очереди:
./configure --enable-optimizations make -j$(nproc) sudo make altinstall
Опция altinstall позволит установить Python таким образом, чтобы текущая версия Python, которая по умолчанию установлена в системе не была затронута.
Проверьте, что Python установлен корректно, введя в терминал следующую команду:
python3.x.x --version
Замените 3.x.x на установленную версию Python.
Установка определенной версии
Зачастую определенные версии Python перестают быть доступными через менеджеры пакетов и в таком случае, самым лучшим способом является скачивание исходного кода Python определенной версии и его компиляция.
Следующая команда позволит вам скачивать конкретную версию Python:
wget https://www.python.org/ftp/python/3.11.0/Python-3.11.0.tar.xz
Замените 3.11.0 в ссылке, а также в названии архива, чтобы скачать ту версию, которая вам нужна.
Распакуйте архив и пройдитесь по инструкциям установки Python для Debian/Ubuntu или Arch, которые представлены выше.
Шаг 4: Установка Node.js
Windows и MacOS
Перейдите на официальный сайт Node.js и скачайте LTS версию окружения JavaScript. Выполните установку, откройте терминал/командную строку и введите следующую команду, чтобы проверить установку:
node -v
Если установка была успешной, то вы увидите текущую версию Node.js.
Debian/Ubuntu Linux
Обновите список пакетов:
sudo apt-get update
Установите Node.js:
sudo apt-get install nodejs
Установите npm (пакетный менеджер для Node.js):
sudo apt-get install npm
Проверьте установку:
node -v
Arch Linux
Обновите список пакетов:
sudo pacman -Sy
Установите Node.js с помощью pacman:
sudo pacman -S nodejs
Установите npm:
sudo pacman -S npm
Проверьте установку:
node -v
Шаг 5: Запуск проекта на Python
Для каждого Python проекта, скачиваемого с GitHub, требуется создавать отдельное виртуальное окружение, в которое мы будем устанавливать библиотеки для запуска программы. Это означает, что для каждой программы нужно скачивать разные версии библиотек Python чтобы не было конфликтов, поэтому их изоляция происходит с помощью создания виртуального окружения.
Для установки нужных библиотек используется файл requirements.txt, который всегда находится в корневой папке проекта Python и содержит список всех библиотек и их версий, которые требуется скачать. Скачанные библиотеки будут храниться строго в корневой папке и будут "принадлежать" только этому проекту.
Перейдите в корневую директорию скачанного репозитория с GitHub, за пример мы возьмем проект YogaPetz, который мы клонировали в Шаге 2. Нажмите на правую кнопку мыши внутри открытой директории для появления контекстного меню, в котором вы должны выбрать терминал/командную строку.
В командной строке введите следующую команду для создания виртуального окружения:
python3.х.х -m venv venv
Вместо 3.х.х вставьте именно ту версию Python, которая требуется для проекта. Если версия не указана, используйте просто вашу текущую версию, установленную в системе. например python3 .
После ввода этой команды в корневой директории проекта появится папка venv, которая будет являться хранилищем для библиотек и других инструментов для запуска проекта.
Запуск библиотек определенной версии для программы может происходить только если вы через терминал активировали нужное виртуальное окружение.
Для активации виртуального окружения введите следующую команду в терминале:
source venv/bin/activate
Если активация была успешной, то вы увидите в терминале, что добавилась дополнительное слово в скобках (venv) к вашему текущему названию хоста и пользователя. Пример Linux:
(venv) [DuneLabs@DuneLabs YogaPetz]$
Для установки нужных библиотек для запуска программы, введите команду:
pip3 install -r requirements.txt
После установки всех библиотек вы уже можете запускать программу. Обычно авторы своего ПО указывают файл main.py как стартовую точку для запуска программы, поэтому мы его возьмем за основу:
python3.x.x main.py
Вместо 3.х.х вставьте именно ту версию Python, которая требуется для проекта. Если версия не указана, используйте просто вашу текущую версию, установленную в системе. Например: python3 .
Скачанная программа должна успешно запуститься. Учитывайте, что любая программа требует данных(приватные ключи, адреса, пароли, почты, твиттеры, API ключи и тд), которые вы должны ввести в соответствующие файлы, находящиеся в одной из папок проекта. Обычно авторы указывают, в каких данных нуждается программа. Если этих данных нет, то программа выдаст ошибку.
Шаг 6: Запуск проекта на JavaScript
Скачанные программы с GitHub написанные на JavaScript(Node.js), так же как и Python, требует библиотек с определенными версиями - они указаны в файле package.json в корневой папке проекта.
Перейдите в корневую директорию скачанного репозитория с GitHub. Нажмите на правую кнопку мыши внутри открытой директории для появления контекстного меню, в котором вы должны выбрать терминал/командную строку.
В командной строке введите следующую команду для загрузки нужных библиотек:
npm install
После скачивания всех библиотек вы можете запустить программу. Перед запуском убедитесь, что ваша программа имеет все нужные данные для работы, это могут быть - приватные ключи, адреса, пароли, почты, твиттеры, API ключи и многое другое. Авторы проектов указывают в readme.md файле, в каких именно директориях проекта находятся файлы, которые нужно заполнить этими данными.
Обычно авторы JavaScript проектов выбирают index.js или app.js файлы как стартовую точку для запуска программы. В зависимости от проекта выберете соответствующее название файла и введите следующую команду в терминале для запуска программы:
node index.js
При соблюдении всех условий, ваша программа будет запущена без ошибок.
____________________________________________________________________________
Анализ Blockchain программ на безопасность и другие материалы ищите в Телеграмм канале: DuneLabs
Если есть вопросы или хотите обсудить материал, пишите в чат: DuneLabs Chat
Автор: DuneLabs