#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. Я делаю это вторым способом — ./сборка/узлы/узлы выполнения.