В транзакции CordaR3 я могу использовать состояние, известное только одной стороне? - PullRequest
0 голосов
/ 25 января 2019

У меня 2 партии (А и Б) В той же транзакции я хочу: Потреблять входное состояние, известное только стороне А, Создать outputState, известный только стороне B, Произведите outputState, известный как партии A и B

Возможно ли это сделать?

Ответы [ 2 ]

0 голосов
/ 29 января 2019

Это невозможно с Corda 3.x.

Предположим, мы помечаем:

  • State1 вход, известный только A
  • State2 выход, известный только B
  • State3 выход, известный по A и B

Чтобы A мог хранить State3, им необходимо будет отправить всю транзакцию, включая State1 и State2. Чтобы B мог хранить State2 и State3, им нужно будет отправить всю транзакцию, включая State1. В настоящее время в платформе нет поддержки для хранения состояний в хранилище узла на основе только отфильтрованной транзакции.

0 голосов
/ 28 января 2019

Из моего понимания это неосуществимо. Давайте запишем, чего вы хотите достичь:

  1. Потребляет InputState, известный только стороне A
  2. Создание OutputState, известного только стороне B
  3. Создание OutputState, известного только стороне A и B

Я думаю, что эти пункты делают это недостижимым:

  1. Если сторона A инициирует поток, то она должна каким-то образом запросить OutputState, который известен только стороне B. Это состояние точно не находится в хранилище стороны A и не находится в зависимостях согласно требованию "OutputState, известное только стороне B ).
  2. Если сторона B инициирует поток, то она должна каким-то образом запрашивать или инициализировать IntputState, известную только стороне A, которая не находится в хранилище стороны B или не находится в ее зависимостях, и это утверждение в целом противоречит вашим требованиям.
  3. SignedTransaction является неизменным объектом. А для того, чтобы новое государство было включено в бухгалтерскую книгу, все стороны должны подписать сделку. В любом случае состояния ввода, вывода будут видны для всех сторон. Этот пункт также противоречит вашим требованиям.
...