Узлы Корды: как соединить два независимых ПК как два узла?

Один мой друг и я пытаемся разработать CorDapp для финансового случая, я могу запустить учебник по работе с приложениями и демонстрационные ролики, однако они работают только на локальном хосте. Мы хотели бы создать два "настоящих" узла, и я правильно понял, что мы должны построить два узла Corda, мой компьютер как один сервер узлов и его компьютер как сервер других узлов, но как мы можем эффективно подключиться через Интернет? На свободе мне сказали включить dev-mode, но как вы его включаете?

У нас есть corda.jar и nodea.conf, но часть, которую я не совсем понимаю из документации:

"Каждый сервер узла по умолчанию должен иметь файл node.conf в текущем рабочем каталоге. После первого запуска сервера узла в этом каталоге рабочего пространства будет создано много других файлов конфигурации и файлов персистентности. Каталог может быть переопределен с помощью - base-directory= аргумент командной строки."

Что подразумевается под рабочим каталогом?

Я прочитал эту документацию: Corda Nodes

Спасибо всем, думаю, я задам много вопросов в ближайшее время:D

2 ответа

Решение

В Corda 3.1 вы можете использовать сетевой загрузчик для создания сети узлов в режиме разработки, работающих на двух отдельных машинах, следующим образом:

  • Создайте узлы, следуя инструкциям здесь (например, используя gradlew deployNodes)

  • Перейдите в папку, где были созданы узлы (например, build/nodes)

  • Открой node.conf файл каждого узла и изменить localhost часть его p2pAddress на IP-адрес компьютера, на котором будет запущен узел (например, p2pAddress="10.18.0.166:10007")

  • После внесения этих изменений нам нужно распространить обновленную nodeInfo файлы для каждого узла, чтобы у них были обновленные IP-адреса для каждого узла. Используйте инструмент сетевой загрузки, чтобы автоматически обновлять файлы и распределять их по каждому узлу:

    java -jar network-bootstrapper.jar kotlin-source/build/nodes

  • Переместите папки узлов на их отдельные машины (например, с помощью USB-ключа). Важно, чтобы ни один из узлов, включая нотариуса, не заканчивался на более чем одной машине. На каждом компьютере также должна быть копия runnodes а также runnodes.bat,

    Например, вы можете получить следующий макет:

    • Машина 1: Нотариус, PartyA, runnodes, runnodes.bat

    • Машина 2: PartyB, PartyC, runnodes, runnodes.bat

  • После запуска каждого узла узлы смогут видеть друг друга и согласовывать обновления книги

Предупреждение

Начальный загрузчик должен быть запущен после node.conf файлы были изменены, но до того, как узлы распределены по машинам. В противном случае узлы не будут иметь обновленные IP-адреса для каждого узла и не смогут обмениваться данными.

Каждый из узлов будет иметь файл node.conf. Чтобы включить devMode, добавьте эту строку в файл node.conf.

DevMode= верно

Другие вопросы по тегам