Как правильно установить WEB3?
Хочу оговориться я новичок в Unix подобных, но развиваюсь.
Целевая система на которой устанавливается Linux Mint.19.x64.
Цель установить WEB3.
Ссылка на репозиторий https://github.com/ethereum/web3.py/blob/master/do.
Насколько я понял, исходя из поисков на форумах, продукт с репозитория работает только с питон v 3+. Возможно я не прав.
С чего я и начал путём выполнения следующих команд
Установка WEB3 возможна на сколько я понял через PIP путём выполнения
pip install web3
Тут как мне казалось мои танцы с бубном закончатся но нет.
Получаю что нет pip и setuptools.
Устанавливаю
Всё равно не работает
Выполняю то что предоставлено разработчиком репозитория
И вот на этом шаге
pip install -e .[dev] (не работает как минимум, как максимум я вообще не знаю, что это)
Суть вопроса подсказать как всё же установить WEB3 через PIP или как то по другому.
- Вопрос задан более трёх лет назад
- 2242 просмотра
- Вконтакте
на ubuntu все собралось есть подозрение на ppa
sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt-get update
sudo apt-get install python3.6
попробовать или установить без ppa или сменить систему
- Вконтакте
mint эта таже ubuntu
там такие же менеджеры пакетов
сейчас с сестрой договорю и продолжу
например https://losst.ru/kak-ustanavlivat-programmy-v-linu.
у вас SYNAPTIC как менеджер пакетов и там вы пишете pip и смотрите версию оканчивавшиеся на dev
как пример python3-dev расшифровываеться как python3 это программа а ветка dev как девелопмент
— разрабатываемая
ppa это подключаемые источники программ в основном debian и ubuntu
всегда можно собрать pip с гитхаба https://github.com/pypa/pip
и давайте быть честными что вы с mint дальше делать будете я не знаю
система начального уровня а в той же ubuntu полно ppa
Настройка на успех: Создание проектов Web3 с помощью расширения Truffle для VS Code
Работа с любой новой технологией может быть одновременно захватывающим и пугающим опытом. С одной стороны, вы можете почувствовать радость от создания нового набора инструментов. Но знание того, как выбрать правильные инструменты среди всех доступных, также может ошеломить.
Независимо от того, начинаете ли вы изучать Web3 или являетесь опытным разработчиком, вы хорошо поймете этот сложный опыт. Разработчикам необходимо обладать знаниями не только о специфических для Web3 концепциях, таких как блокчейн и смарт-контракты, но и о совершенно новом стеке инструментов для разработки на основе этих концепций. Однако при наличии правильных шагов и соответствующих инструментов разработчики могут создавать на основе технологий Web3 относительно быстро и эффективно.
В этой статье мы дадим краткий обзор шагов, необходимых для создания смарт-контракта Web3. В то же время мы рассмотрим, как вы можете успешно пройти эти шаги, написав, развернув и протестировав смарт-контракты с помощью уже знакомого вам инструмента — Visual Studio Code (VS Code) — и расширения Truffle for VS Code.
Выбор правильных инструментов
После изучения основ блокчейна и Ethereum вы, вероятно, вдохновились идеей начать применять свои знания для создания собственных Web3-проектов. Попутно вы, возможно, собрали длинный список инструментов из различных проектов и учебников. Вместо того чтобы теряться в этом списке, давайте сосредоточимся на изучении шагов, необходимых для запуска нового проекта смарт-контракта с помощью одного из таких инструментов — расширения Truffle для VS Code — и рассмотрим, как оно может помочь на некоторых этапах разработки смарт-контракта, таких как: создание, отладка, развертывание и безопасность.
Создание проекта
Во-первых, давайте рассмотрим создание вашего начального проекта.

Успешный проект часто начинается с хорошей настройки и файловой структуры. Поскольку многие проблемы могут возникнуть из-за неправильной настройки проекта, очень важно убедиться, что структура файлов последовательна и интуитивно понятна в именовании.
Приятным преимуществом использования расширения Truffle for VS Code является то, что вы можете быстро создать новый проект с правильной структурой с самого начала, либо создав новую папку с типовой структурой файлов и начальными файлами, либо просто создав проект из Truffle Box.
Чтобы увидеть, как выглядит правильная файловая структура, давайте начнем новый проект. Сначала вам нужно установить расширение Truffle for VS Code. Подробные инструкции по установке и еще больше информации о его возможностях вы найдете в этой статье.
После установки расширения нажмите клавиши SHIFT + CTRL/CMD + P, чтобы открыть палитру команд. Далее введите команду Truffle New Solidity Project и выберите опцию Create basic project. После выбора пути к проекту будет создан новый проект с правильной структурой файлов.

Как вы можете видеть, в шаблонном проекте есть папка, содержащая смарт-контракты, другая папка для миграции в блокчейн-среду, третья папка для скриптов и еще одна папка для тестов. Проект также включает .gitignore для хранения информации, которую вы не хотите передавать в репозиторий, лицензионное соглашение с открытым исходным кодом и файл truffle-config.js.
Такая файловая структура сохраняет все аккуратным и организованным, поэтому импорт из одного файла в другой или выполнение команд Truffle будет простым и менее подверженным ошибкам.
Отладка вашего контракта
К сожалению, мы не живем в идеальном мире, где в нашем коде нет ошибок. И при создании своего смарт-контракта вы столкнетесь с сообщениями об ошибках, которых раньше, возможно, не видели. Отладка этих транзакций может быть сложной, если вам постоянно приходится обращаться за информацией к проводнику блокчейна, такому как Etherscan.
Одно из решений — использовать функцию отладки транзакций с помощью расширения Truffle for VS Code. Для работы с отладчиком снова откройте палитру команд и введите Truffle Debug Transaction. Отсюда вы можете просматривать сообщения транзакций и работать с ними шаг за шагом. Это важно для разработчиков, поскольку часто в определенной транзакции могут быть ошибки, которые приведут к тому, что следующие попытки транзакции будут неудачными (например, средства недоступны в определенном кошельке).

После выбора транзакции станет доступен отладчик. Здесь вы можете выполнять типичные функции отладки, такие как вхождение/выход/переход, просмотр стека вызовов, наблюдение за окнами и т.д.

Развертывание вашего контракта
После того как у вас есть работающий смарт-контракт, пришло время развернуть его. Здесь есть три пути. Лучше всего сначала развернуть контракт на локальном экземпляре блокчейна для тестирования, например, в Ganache. Затем следует развернуть контракт в тестовой сети, чтобы убедиться, что он правильно работает в реальной среде. Затем, только после завершения всех испытаний, вы запустите свой проект в основной сети. Все это тестирование поможет вам избежать дорогостоящих и иногда необратимых ошибок в ваших смарт-контрактах.
В расширении Truffle вы можете развернуть все три типа сетей, не выходя из VS Code. Это можно сделать, щелкнув правой кнопкой мыши на файле .SOL, который вы хотите развернуть, и выбрав «Развернуть контракты».

Локальный блокчейн: Использование службы Ganache Service — это простой способ создать локальный блокчейн с несколькими адресами кошельков и тестовыми Eth, которые вы можете использовать для взаимодействия с вашим смарт-контрактом. Из расширения вы можете создать новую сеть Ganache в панели Truffle — Networks в VS Code. После создания сети вы можете запускать/останавливать и перезапускать сервер по мере необходимости.

Тестнеты: Тестовые сети предназначены для работы по аналогии с основной сетью Ethereum без финансовых затрат и рисков, связанных с развертыванием непосредственно в основной сети. Использование тестовой сети — это отличный способ получить представление о том, как будет функционировать ваш контракт после развертывания в основной сети.
Существует несколько тестовых сетей Ethereum, и все они могут быть подключены с помощью услуг провайдера узлов, например Infura. После настройки учетной записи Infura в расширении вы получите доступ к существующим проектам Infura или сможете легко создавать новые.

Mainnet: Если тестовые сети — это как серверы для хранения кода вашего смарт-контракта, то развертывание в mainnet — это как перенос кода в продакшн. Нельзя не подчеркнуть важность тестирования кода смарт-контракта. Если в нем есть какие-либо ошибки или лазейки, ими могут и будут пользоваться злоумышленники. Эти ошибки могут дорого обойтись как организациям, так и пользователям.
Давайте рассмотрим, как обеспечить безопасность нашего контракта с помощью правильных инструментов и лучших практик до его развертывания в mainnet.
Обеспечение безопасности вашего контракта
Безопасность всегда должна быть главным приоритетом при разработке смарт-контрактов. Миллионы долларов теряются из-за хакеров, похоже, регулярно. Как Web3-разработчик, вы должны постоянно быть в курсе последних передовых методов обеспечения безопасности.
Проверка ваших смарт-контрактов с помощью таких инструментов, как Diligence Fuzzing или их альтернатива с открытым исходным кодом, Scribble, поможет вам обнаружить многие распространенные уязвимости в системе безопасности. Однако если ваш проект нацелен на обработку средств миллионов пользователей, лучше всего провести профессиональный аудит смарт-контрактов.
Тем не менее, разработчики должны знать о распространенных уязвимостях при создании своих проектов. Одним из частых векторов атак в Web3 является использование хакерами ботов для сканирования развернутых контрактов на предмет потенциальных уязвимостей и секретной информации, например, закрытых ключей кошельков, оставленных в коде после тестирования. Использование такого инструмента, как Truffle Dashboard, — один из способов избежать потери средств и активов из-за ошибок при разработке.

Truffle Dashboard избавляет разработчиков от необходимости хранить закрытые ключи в конфигурационном файле в проекте Solidity. Разработчики могут выполнить одноразовую настройку, подключив свой кошелек Metamask к локально размещенной панели управления в браузере. После этого достаточно использовать ключевое слово приборной панели вместо копирования и вставки ключей в файл конфигурации. Она совместима и с другими фреймворками для разработки, например, Hardhat.
Чтобы использовать Truffle Dashboard, установите последнюю версию Truffle и введите в терминале команду truffle dashboard . Теперь все действия, для которых требовались бы ваши закрытые ключи, могут быть направлены через приборную панель. Например, чтобы развернуть контракт, убедитесь, что в файле truffle-config.js указан правильный порт (по умолчанию это 24012), затем просто щелкните правой кнопкой мыши на контракте, чтобы развернуть его, и выберите dashboard: 24012:



Правильные инструменты, правильный путь вперед
Создание Web3-проекта не обязательно должно быть сложным. С правильными инструментами путь вперед становится ясным. Существует множество способов улучшить рабочий процесс, но наличие в вашем распоряжении расширения Truffle для VS Code поможет вам эффективно работать из уже знакомой среды. Это пространство развивается довольно быстро, и новые инструменты создаются постоянно. Надеюсь, эта статья дала вам представление о том, как можно упростить процесс разработки, ориентируясь на стек инструментов Web3.
2 — Install Web3
![]()
You can use several languages to interact with Ethereum. The one I encounter most is JavaScript. To make a Đapp project in JavaScript you need node.js . For that, download the current version on its website (version 10.8.0 at the time of the article).
Node.js
Node.js is an asynchronous JavaScript execution environment. It comes with its package manager: npm . npm should be added to your system environment variables. To test this just open a command-line interface and write :
This should give you the version installed on your computer. If not:
- Add npm to environment variables. The path should be C:\Users\
\AppData\Roaming\npm (Windows version). - Restart your computer.
You can now create JavaScript projects and run them with node.js ✨.
Node-Gyp
node-gyp compiles native addons (Linux, Mac, Windows) into node.js packages. You often find it in node.js projects such as web3
I had a lot of troubles installing his package. So let’s do this right:
Install node-gyp
Open a command window and write:
This command installs the node-gyp package on your computer globally (i.e. the package can be accessed from anywhere on your computer).
Installing Python 2.7
node-gyp requires a runtime environment in Python 2.7. To install it, simply download it from the website: https://www.python.org/downloads/ .
For people on Mac OS X, Python 2.7 should already be installed .
NB: node-gyp is not compatible with Python version 3.0.
Installing a compiler
Finally you need to install a compiler according to your OS:
- Unix: you need make and GCC (or any other C/C++ compiler).
- MacOS X : XCode with Command Line Tools (you can find them in Xcode -> Preferences -> Downloads )
- Windows : from PowerShell, as administrator, write this command line :
Then restart your computer.
Your project
Initiate the project
Let’s start our project:
- Create a folder that will host your project.
- Open a command-line interface and write npm init to initialize the project.
- Give the project a kebab-case based name (for example: eth-project ).
- Accept all other fields.
Your package.json file is ready !
Install web3
web.js is currently the most used JavaScript library to interact with Ethereum. You also have ethjs and ethers.js . At the time I write the article the latest version of web3 is still in beta, but it is stable enough to be used.
At the root of your project, open a command window and write :
Note here there is no -g , it is because we install this library only for our project. The -— save at the end adds this dependency in our package.json.
The hard part is done;) Now all you have to do is create your project!
How to install web3 latest version manually in windows10?
. Then I added a reg key in regedit(«Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\4.0») as «VCTargetsPath» : «$(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\V140» But it is still not working i.e., it gives the same error as mentioned.
I can install web3@0.20.7, but i want latest version as some of the functions from 0.20.7 has been removed/rearranged in v1.0.0 All I need is that nodejs should not complain when i do require(‘web3’).
I want to know that how to install web3 package with dependencies. Also how to tell E:\node_modules\scrypt\build\scrypt_wrapper.vcxproj (there is no scrypt folder inside node_modules when i checked) to use V140 or any installed platformSetTools.
I have following folders in C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0
- V120
- V140
Also is it possible to merge web3 (with dependencies) installed on someone else’s system into mine?
Update: I have following software installed in current pc:
Visual studio 2015
Microsoft .NET Framework (4.5 Multi targeting pack(MTP), 4.5 sdk, 4.5.1 MTP, 4.5.1 MTP (ENU), 4.5.1 SDK, 4.5.2 SDK, 4.5.2 MTP, 4.5.2 MTP ENU, 4.6 SDK, 4.6 Targeting Pack, 4.6 TP ENU, 4.6.1 SDK, 4.6.1 TP, 4.6.1 TP ENU, 4.7 SDK, 4.7 TP, 4.7 TP ENU)
Microsoft Visual C++ (2008,2012,2013,2017)
Also I can npm install web3 in a windows 7 (which also has visual studio 2015) and it executes/installs with no errors. This is output after attempting to install windows-build-tools and web3 packages.