Клиентское приложение для Corda - PullRequest
0 голосов
/ 11 апреля 2020

Я делаю приложение Springboot, которое будет действовать как клиент для слоя corda. Для этого я должен поместить jar контрактов и jar рабочих процессов в мое клиентское приложение. Безопасно ли это с точки зрения безопасности или такой подход верен? Любая другая альтернатива без предоставления контрактов и рабочих процессов.

1 Ответ

0 голосов
/ 11 апреля 2020
  • Когда вы создаете модуль clients, он поместит все зависимости (включая ваши CorDapps) в файл jar вашего приложения SpringBoot (т.е. веб-сервер).
  • Это безопасно, потому что если вы дадите какой-нибудь стороне файл jar веб-сервера, и они извлекут из него ваши файлы jar CorDapp; они не смогут взаимодействовать с вашими узлами, если они не являются частью вашей сети.
  • И если они являются частью вашей сети, то не должно быть проблемой, что они получили этот файл JAR; потому что, скорее всего, у них уже есть CorDapps, которые являются его частью.
  • Может быть, они являются частью вашей сети, но они должны иметь только определенный поднабор ваших CorDapps (то есть они должны иметь возможность запускать только определенные потоки); тогда ваши рабочие процессы и контракты должны иметь некоторые проверки внутри них, которые ограничивают определенные действия определенными сторонами.
  • Например, вы можете создать собственный файл конфигурации (см. здесь как); и внутри этого файла вы указываете сущность, которая может быть эмитентом ваших токенов. Затем в вашем потоке вы извлекаете это значение из файла и сравниваете getOurIdentity() с извлеченным значением, если они ошибочны, вы генерируете исключение.
  • Другой пример: вы можете поместить список партий в черные списки в файл jar или zip, а затем загрузить этот файл на свой узел. Внутри вашего потока вы можете добавить этот файл в качестве вложения в вашу транзакцию, затем в вашем контракте вы можете получить этот файл и прочитать его содержимое, чтобы выяснить, есть ли один из участников в черном списке или нет. Смотрите пример здесь .
...