Подготовка к тестам
Вчера мне потребовалось время, чтобы разобраться с настройкой Python, так как никогда ранее не работал с ним, и появились вопросы по использованию библиотек в проекте. Но сейчас не об этом.
Зачем нам Python в смарт контрактах?
А затем, что популярные программы для анализа контрактов, типа Slither или Mythril, написаны на питоне. Поэтому дальше пост будет для тех, кто НЕ знаком с ним, и краткий для тех, кто имел с ним дело.
Для работающих с Python
Проверьте, чтобы была установлена версия выше 3.10, а также установлен pip3.
Для новичков
1. Для начала нужно скачать сам Python. При этом следите, чтобы версия была ^3.0.
Скачать можно с официального сайта тут (https://www.python.org/downloads/).
2. Затем проверьте, чтобы он у вас правильно установился и имел в своем распоряжении pip3, выполнив команды:
$ python --version
$ pip3 -- version
Там должен появиться номер установленной версии.
3. Далее рекомендуется установить компилятор для Solidity, на случай работы с разными его версиями. Это можно сделать командой:
$ pip3 install solc-select
И вот тут могут пойти проблемы.
У меня постоянно возникала ошибка "running setup.py install for pysha3 did not run successfully". Я попробовал разные советы, которые находил в гугле, но помог только один.
Нужно скачать и установить Visual Studio Build Tools 2022 (пакеты С++).
После этого еще раз попробовать выполнить команду в консоли:
$ pip3 install solc-select
Если и тут не выходит, то попробуйте так:
$ pip3 install solc-select --user
После этого у меня все заработало. Я не знаю этот язык и работу с ним. Поэтому, если вы знаете, в чем были проблемы, можете в комментариях помочь другим участникам советом или гайдом. Далее переходим к самим программам.
#python #pip3
Вчера мне потребовалось время, чтобы разобраться с настройкой Python, так как никогда ранее не работал с ним, и появились вопросы по использованию библиотек в проекте. Но сейчас не об этом.
Зачем нам Python в смарт контрактах?
А затем, что популярные программы для анализа контрактов, типа Slither или Mythril, написаны на питоне. Поэтому дальше пост будет для тех, кто НЕ знаком с ним, и краткий для тех, кто имел с ним дело.
Для работающих с Python
Проверьте, чтобы была установлена версия выше 3.10, а также установлен pip3.
Для новичков
1. Для начала нужно скачать сам Python. При этом следите, чтобы версия была ^3.0.
Скачать можно с официального сайта тут (https://www.python.org/downloads/).
2. Затем проверьте, чтобы он у вас правильно установился и имел в своем распоряжении pip3, выполнив команды:
$ python --version
$ pip3 -- version
Там должен появиться номер установленной версии.
3. Далее рекомендуется установить компилятор для Solidity, на случай работы с разными его версиями. Это можно сделать командой:
$ pip3 install solc-select
И вот тут могут пойти проблемы.
У меня постоянно возникала ошибка "running setup.py install for pysha3 did not run successfully". Я попробовал разные советы, которые находил в гугле, но помог только один.
Нужно скачать и установить Visual Studio Build Tools 2022 (пакеты С++).
После этого еще раз попробовать выполнить команду в консоли:
$ pip3 install solc-select
Если и тут не выходит, то попробуйте так:
$ pip3 install solc-select --user
После этого у меня все заработало. Я не знаю этот язык и работу с ним. Поэтому, если вы знаете, в чем были проблемы, можете в комментариях помочь другим участникам советом или гайдом. Далее переходим к самим программам.
#python #pip3
👍1
Подготовка рабочей среды для тестов
Нам потребуются несколько программ для тестов, которые следует установить через консоль. О самих программах в последующих постах подробнее.
Slither - pip3 install slither-analyzer
Mythril - pip3 install mythril
Manticore - pip install manticore
Есть и другие программы, типа Echidna или MythX, но для начала рассмотрим только указанные три.
Проверить правильность их установки можно командой
pip list
Далее, по совету друга разработчика, можно создать файл и рабочую среду, чтобы использовать эти программы не глобально, а на конкретном проекте.
Для этого создаем файл requirements.txt, куда записываем необходимые программы, которые планируем использовать в своем проекте, по типу:
solc-select== 1.0.1
slither-analyzer==0.9.0
и сохраняем файл. Можно в директории проекта.
Затем выполняем команду для создания виртуального окружения:
python -m venv venv
Потом активируем:
source venv/scripts/activate
Возможно, эту команду потребуется выполнять каждый раз при загрузке вашего редактора кода.
И в конце выполняем подключение программ в проект:
pip install -r requirements.txt
Теперь проверить, что все у вас подключилось правильно, можно, выполнив, например, такую команду:
slither --help
Если появятся длинный список команда и опций, то все ок. Если нет - постарайтесь пройти все шаги заново.
#python #pip3 #venv
Нам потребуются несколько программ для тестов, которые следует установить через консоль. О самих программах в последующих постах подробнее.
Slither - pip3 install slither-analyzer
Mythril - pip3 install mythril
Manticore - pip install manticore
Есть и другие программы, типа Echidna или MythX, но для начала рассмотрим только указанные три.
Проверить правильность их установки можно командой
pip list
Далее, по совету друга разработчика, можно создать файл и рабочую среду, чтобы использовать эти программы не глобально, а на конкретном проекте.
Для этого создаем файл requirements.txt, куда записываем необходимые программы, которые планируем использовать в своем проекте, по типу:
solc-select== 1.0.1
slither-analyzer==0.9.0
и сохраняем файл. Можно в директории проекта.
Затем выполняем команду для создания виртуального окружения:
python -m venv venv
Потом активируем:
source venv/scripts/activate
Возможно, эту команду потребуется выполнять каждый раз при загрузке вашего редактора кода.
И в конце выполняем подключение программ в проект:
pip install -r requirements.txt
Теперь проверить, что все у вас подключилось правильно, можно, выполнив, например, такую команду:
slither --help
Если появятся длинный список команда и опций, то все ок. Если нет - постарайтесь пройти все шаги заново.
#python #pip3 #venv
👍1