Использование docker для настройки testnett testnet и установление связи между abci и tendermint core - PullRequest
0 голосов
/ 05 ноября 2019

Я пытаюсь интегрировать свое собственное ABCI-приложение с локальной сетью. Docker-compose выглядит так:

version: '3'

services:
  node0:
    container_name: node0
    image: "tendermint/localnode"
    ports:
      - "26656-26657:26656-26657"
    environment:
      - ID=0
      - LOG=${LOG:-tendermint.log}
    volumes:
      - ./build:/tendermint:Z
    command: node --proxy_app=tcp://abci0:26658
    networks:
      localnet:
        ipv4_address: 192.167.10.2

 abci0:
    container_name: abci0
    image: "abci-image"
    volumes:
      - $GOPATH/src/samplePOC:/go/src/samplePOC
    ports:
      - "26658:26658"
    build:
      context: .
      dockerfile: $GOPATH/src/samplePOC/Dockerfile
    command:  /go/src/samplePOC/samplePOC
    networks:
      localnet:
        ipv4_address: 192.167.10.6

И узлы, и abc-контейнеры созданы успешно. Сервер ABCI успешно запущен, и узлы пытаются установить соединения. Однако главная проблема заключается в том, что я вижу, что они не могут общаться друг с другом.

Я получаю следующую ошибку:

node0 | E [2019-10-29| 15: 14: 28.525] abci.socketClient не удалось подключиться к tcp: // abci0: 26658. Повторная попытка ... module = abci-client connection = query err = "dial tcp 192.167.10.6:26658: connect: соединение отклонено"

Может кто-нибудь помочь мне здесь?

1 Ответ

1 голос
/ 08 ноября 2019

Сначала я подумал, что вам может понадобиться добавить depends_on: ["abci0"] к node0, поскольку приложение ABCI должно прослушивать, прежде чем Tendermint попытается подключиться.

Конечно, ТМ должна продолжить повторную попытку, так что это может не быть проблемой.

Еще одна вещь, которую вы можете попробовать, - запустить tendermint на хост-компьютере и попытаться подключиться к открытому порту порта ABCI на abci0 (26658), чтобы изолировать проблему в конфигурации докера.

Если вы не можете запустить tendermint node --proxy_app=tcp://localhost:26658 проблема, вероятно, кроется в вашем приложении ABCI.

Я предполагаю, что вы инициализировали каталог на томе, который вы монтируете в node0?

...