Не удается подключиться к 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)
Другие вопросы по тегам