Не удалось найти файл параметров сети и зона совместимости не была настроена/недоступна, corda

#postgresql #blockchain #corda #azure-postgresql

Вопрос:

Я застрял, пытаясь интегрировать azure postgres с corda. Я использую задачу gradle deployNodes для локального создания сети.

Ниже приведено исключение, которое я получаю.

 [ERROR] 2021-09-06T06:53:02,290Z [main] internal.NodeStartupLogging. - Exception during node startup: Couldn't find network parameters file and compatibility zone wasn't configured/isn't reachable. - Couldn't find network parameters file and compatibility zone wasn't configured/isn't reachable. [errorCode=1917kd6, moreInformationAt=https://errors.corda.net/OS/4.5/1917kd6]
 

У меня не было проблем при подключении к локальному экземпляру postgres, установленному на моей машине.

Ниже приведена конфигурация azure postgres, в которой происходят ошибки.

 extraConfig = [
            'dataSourceProperties' : [
                    'dataSourceClassName': 'org.postgresql.ds.PGSimpleDataSource',
                    'dataSource.url': 'jdbc:postgresql://azure_database_name.postgres.database.azure.com:5432/demo?searchpath=demo_schema?ssl=true',
                    'dataSource.user': 'userN@me@azure_database_name',
                    'dataSource.password': 'pa$word'
            ]
 

Комментарии:

1. Вы развернули свой узел Corda на виртуальной машине Azure или ваш узел все еще находится на вашем ноутбуке, который подключается к базе данных в Azure?

2. Это все еще на моем автоответчике. Как только я заставлю это работать, мне придется перенести его на виртуальную машину.

3. Ошибка заключается в том, что он не может найти файл параметров сети, который необходим для подключения к сети Corda. Пожалуйста, обновите свой вопрос, добавив, что вы используете для локального создания сети Corda: Загрузчик сети? Так что мы сможем вам помочь. Спасибо!

4. @AlessandroBaffa обновили вопрос.

5. Я воспроизвел вашу упомянутую ошибку и изложил свой ответ ниже. Пожалуйста, дайте мне знать, если это решит вашу проблему @user16528894.

Ответ №1:

Попробуйте сделать это:

  • создайте /drivers папку в корневой папке проекта. Эта папка будет содержать файл postgresql-XX.X.jar PostgreSQL
  • обновите свой build.gradle , чтобы добавить местоположение банки драйверов jarDirs , например, так:
 extraConfig = [
            jarDirs : ['/your-project-absolute-path/drivers'],
            dataSourceProperties : [
                    'dataSourceClassName': 'org.postgresql.ds.PGSimpleDataSource',
                    'dataSource.url': 'jdbc:postgresql://azure_database_name.postgres.database.azure.com:5432/demo?searchpath=demo_schema?ssl=true',
                    'dataSource.user': 'userN@me@azure_database_name',
                    'dataSource.password': 'pa$word'
            ]
        ]
 
  • бежать ./gradlew deployNodes
  • бежать ./build/nodes/runnodes
  • узел должен запуститься (это займет некоторое время, так как он должен подключиться к базе данных Azure).

Комментарии:

1. Я подключил свою сеть, используя ту же настройку на виртуальной машине. Но по какой-то причине он не работает на моей локальной машине. А что касается папки драйверов, то она уже есть у меня в конфигурации.

2. @user16528894 как вы запускаете узел в своей виртуальной машине? Вы делаете java-jar corda.jar, или ./сборка/узлы/узлы выполнения ?

3. Я делаю это вторым способом — ./сборка/узлы/узлы выполнения.