Не удается подключиться к Truffle или testrpc с Ganache GUI
У меня есть графический интерфейс Ganache из appx с официального сайта на моей Windows 10. Когда я запускаю сеть Truffle или testrpc в своей консоли (WSL) и пытаюсь подключиться к ней через графический интерфейс Ganache в настройках, я получаю сообщение об ошибке рядом с текстовым полем с портом:
Порт используется другим приложением; пожалуйста, измените это
https://stackru.com/images/59c2b2e36f527f45d b4e6ce1d62cf237a922eaeb.png
порт от трюфеля или testrpc. Как я могу подключиться там? Спасибо.
3 ответа
Ganache UI запускает экземпляр Ganache CLI (т.е. имитированный экземпляр Ethereum, ранее называвшийся TestRPC). Если у вас уже открыто окно консоли с приложением на порту 9545, то интерфейс Ganache не может запустить новый экземпляр на этом же порту.
Я добавляю следующее в свой файл .zshrc или .bashrc
# Get WSL Host IP
export WSL_HOST_IP="$(awk '/nameserver/ { print $2 }' /etc/resolv.conf)"
Это позволяет мне отображать IP-адрес моего хоста, поэтому команды в WSL2 могут достигать локального хоста.
Теперь создайте рабочую область в графическом интерфейсе Ganache и в настройках сервера HOSTNAME выберите «0.0.0.0 — Все интерфейсы».
В вашем проекте truffle отредактируйте файл truffle-config.js и установите блок разработки сети следующим образом:
development: {
host: process.env.WSL_HOST_IP,
port: 7545,
network_id: "*" // Match any network id
}
Теперь, когда вы запускаете truffle migrate, он должен подключаться к графическому интерфейсу Ganache.
Вот шаги, которые сработали для меня:
- Начать ганаш-пользовательский интерфейс
- Настройте сеть трюфеля в
truffle-config.js
:
networks: {
development: {
host: "127.0.0.1", // Localhost (default: none)
port: 7545, // Standard Ethereum port (default: none)
network_id: "*", // Any network (default: none)
},
...
- Бежать
truffle console
(НЕТtruffle develop
)