«not in dispatcher» - проблемы, связывающие однорангового валидатора с валидатором genesis - PullRequest
0 голосов
/ 10 мая 2018

Я бился головой об этом некоторое время. Итак, я успешно (возможно) создал работающий валидатор sawtooth с настройками-tp и поэтом-валидатором-реестром (все контейнеры с нуля).

Я создал его с помощью config-genesis.batch - затем «предложение создать» с поэтом, открытым ключом pem и т. Д. Для config.batch - затем «регистрация поэта создать» для Стиха. Пакет - «предложение создать» снова с дополнительными настройками поэта, которые дают поэт-settings.batch.

По сути, я по большей части копирую docker-compose для поэта по умолчанию, но теперь катался с моими собственными контейнерами с нуля (я хочу знать, как все складывается в детали).

Во всяком случае, одна из этих деталей касается ключей и аутентификации ... он наконец работает, настройки-tp и поэта-валь-рег довольны им и общаются нормально, а затем он делает блок генеза, как и должно.

Однако я тогда пытаюсь подключить к нему другой валидатор как равноправный ...

"Нет головы цепи и нет узла происхождения: запуск в режиме пиринга" - ОТЛИЧНО!

Однако, когда он пытается подключиться:

[2018-05-10 10:30:10.542 INFO     dispatch] Can't send message PING_RESPONSE back to ee58844c071426276de533cadfafbd3c2448604e59fd81f4758edc07b5beea89476a6252e0a2144d43f14e06bf90c57dd2613562221954e3b2eddc6d2fcd9ef6 because connection OutboundConnectionThread-tcp://192.168.1.200:8800 not in dispatcher
[2018-05-10 10:30:10.542 INFO     dispatch] Can't send last message AUTHORIZATION_VIOLATION back to ee58844c071426276de533cadfafbd3c2448604e59fd81f4758edc07b5beea89476a6252e0a2144d43f14e06bf90c57dd2613562221954e3b2eddc6d2fcd9ef6 because connection OutboundConnectionThread-tcp://192.168.1.200:8800 not in dispatcher

Так сложно найти объяснения по этому поводу, только места, где я могу найти что-либо, - это исходные ссылки в исходном коде, и я не собираюсь в обратном порядке разрабатывать это в ближайшее время.

Мои настройки для валидаторов при запуске:

The usual binds to 0.0.0.0
peering dynamic
scheduler serial
network trust

Любая помощь будет так цениться!

Заранее большое спасибо:)

Aaron.

1 Ответ

0 голосов
/ 11 августа 2018

Обычная проблема с

Can't send message PING_RESPONSE back to . . . because connection ... not in dispatcher

настраивает одноранговые конечные точки

1) Если вы используете Ubuntu напрямую вместо Docker, используйте имя хоста или IP-адрес валидатора вместо значения по умолчанию («validator»), которое работает только с Docker, или «localhost», который может быть не маршрутизируемым

2) Если вы используете Docker, убедитесь, что порты Docker сопоставлены с ОС Ubuntu, и что IP-адрес / порт ОС маршрутизируется между двумя компьютерами. Проверьте записи expose: и ports: в файле docker-compose.yaml или аналогичном файле.

3) Проверьте сетевое подключение к удаленному компьютеру с помощью ping

4) Проверьте подключение порта telnet aremotehostname 8800 (замените aremotehostname на имя хоста или IP-адрес удаленного узла)

5) Проверьте одноранговую конфигурацию в ваших /etc/sawtooth/validator.toml файлах. Проверьте строки peering и endpoint. Проверьте строку seeds (для динамического пиринга) или peers строку (для статического пиринга)

...