Запуск Blockchain программ с помощью Python и JavaScript

Запуск 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 фактически два:

  1. Запустить исходный код, который вы скачали с GitHub, используя Python или Node.js
  2. Запустить бинарный/исполняемый файл.

В следующем материале будет описано, каким образом можно работать с неизвестными файлами, которые могут представлять угрозу для системы. Новые материалы ищите в Телеграмм канале 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

Чтобы убедиться, что вы находитесь в корневой папке репозитория, которую вы и планируете скачать, ваша ссылка должна содержать

  1. Домен https://github.com/
  2. Никнейм пользователя, кому принадлежит репозиторий: the-laziest-coder
  3. Название репозитория: 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, которого достаточно для запуска многих программ/скриптов. В инструкциях ниже мы также рассмотрим два варианта:

  1. Установка самой последней версии используя архив, скачанный с официального сайта.
  2. Установка определенной версии 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































Report Page