Как развернуть сетевое приложение с бизнес-логикой, которая является частной для выбранных сторон? - PullRequest
0 голосов
/ 27 июня 2018

У меня есть сеть с 5 узлами, где узлом 1 является компания ABC, а узлами 2 - узел 5 являются customer1, customer2, customer3 и т. Д. Если customer1 использует продукт компании ABC и если он получает прибыль, он должен заплатить определенную сумму в компанию ABC. Формула прибыли варьируется от клиента к клиенту, и клиенты не должны видеть формулу прибыли других клиентов.

Один клиент может использовать формулу как A * B, тогда как другой клиент может использовать как A + B * 10

Я сослался на ссылку:

При развертывании узлов Corda в сети, какие JAR-файлы должны быть одинаковыми?

Мои сомнения.

  1. В моем сценарии, где я должен написать формулу? В контракт или поток или я должен поставить в состояние ? Что рекомендуется?

  2. Будет ли возможно поддерживать так много банок уровня узла?

  3. Можно ли развернуть контракт, который доступен только в подмножестве узлов?

1 Ответ

0 голосов
/ 28 июня 2018

1) Эта логика должна войти в поток, если вы хотите сохранить расчеты частными от клиентов. Все узлы будут использовать один и тот же контракт, но ваши потоки могут быть абстрагированы от CorDapp с локальной реализацией для узла.

2) Да, штат и контракт останутся неизменными во всех CorDapps. Только потоки будут отличаться. Это, вероятно, в конечном итоге станет распространенным сценарием, поскольку любые вызовы внешних систем будут происходить в потоке, и вы можете предвидеть, как это будет различаться для разных сущностей.

3) Вам просто нужно подумать о разработке вашего контракта таким образом, чтобы он не отклонял ни одно из значений, рассчитанных вашей функцией прибыли, и распространять этот же контракт среди всех.

Взгляните на этот пример CorDapp, он показывает различную бизнес-логику для узла

...