Узел iOS не синхронизируется с частным BKC

Я использую инфраструктуру Geth и Swift 4 для загрузки узла внутри приложения iOS 11.0. Этот узел подключается к моему локальному BKC (точнее, к 4 узлам).

Вот несколько тестов, которые я сделал:

  • если я запущу 3 компьютерных узла и начну майнинг, 4-й компьютерный узел будет синхронизироваться при запуске
  • если я запущу все свои узлы (компьютер и приложение) и начну майнить на компьютерном узле, каждый узел заметит это и синхронизируется
  • если я запущу все свои компьютерные узлы и начну майнинг, а затем загружу новый новый узел приложения, узел приложения не будет синхронизироваться (даже если он без проблем подключается к компьютерным узлам)
  • если я запускаю свой узел приложения с Rinkeby genesis и bootnodes, он будет синхронизироваться через несколько секунд.

Итак, я, вероятно, что-то упустил, но я не понимаю, почему мой узел приложения синхронизируется с Rinkeby, а не с моим частным блокчейном.

Я использую файл static-nodes.json для соединения всех своих узлов (компьютер и приложение).

Я начинаю свои компьютерные узлы с : geth --datadir <datadir> --port <port> --networkid <id> --v5disc --lightserv <int> console.

Я использую пользовательский файл генезиса. Этот admin.peersметод подтверждает, что все мои узлы подключаются друг к другу без каких-либо проблем. И я использую GethSetVerbosity(9)для отображения трассировки и отладки в моей консоли Xcode.

Есть идеи ?

Если у вас все еще есть эта проблема, было бы здорово, если бы вы могли отредактировать свой вопрос и указать топологию вашей сети и открытые порты между узлами и устройством IOS. Если вы решили проблему, было бы здорово, если бы вы тоже могли «самостоятельно отвечать»!

Ответы (1)

Обязательно ли использовать iOS-устройство в качестве узла? Я не могу придумать причину для этого. Для большинства вещей, которые вам понадобятся в мобильном телефоне, вы можете использовать JSON RCP .