Узлы Корды: как соединить два независимых ПК как два узла?
Один мой друг и я пытаемся разработать 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= верно