CashPaymentFlow всегда генерирует анонимный вывод изменений - PullRequest
0 голосов
/ 26 марта 2019

CashPaymentFlow имеет параметр anonymous, чтобы указать, должен ли получатель быть заменен конфиденциальной идентификацией.В моем случае, я не хочу конфиденциальную личность, поэтому я установил ее в false.Это прекрасно работает для вывода получателя (содержит известную сторону), но не для вывода изменений отправителю (содержит анонимную сторону).

Это происходит, даже если исходный ввод отправителя не является анонимным

Я на Corda Release 4 на виртуальной машине Ubuntu Azure.

fun sendPayment(amount: Amount<Currency>, recipient: Party): AbstractCashFlow.Result? {
        val anonymous = false

        val handle = proxy.startTrackedFlow(::CashPaymentFlow, amount, recipient, anonymous)
        return handle.returnValue.get()
}

Предположим, что мы отправляем из A в B и имеем один неизрасходованный вывод с владельцем A и значением 1000 EUR.Теперь позвоните sendPayment с суммой 800 EUR и получателем B.

Я ожидаю двух выходов:

  • 800 EUR, владелец B
  • 200 EUR, владелец A

Вместо этого я получаю

  • 800 EUR, владелец B
  • 200 EUR, Аноним (SDFOMWEORHEWLRKHWLEKR ...)

1 Ответ

0 голосов
/ 26 марта 2019

Исторически сложилось так, что изменение денежных расходов в Корде было возвращено с использованием конфиденциальных идентификационных данных. Это функция по умолчанию при создании расходов с конфиденциальной или общеизвестной идентификацией, которую нельзя переопределить с помощью CashPaymentFlow.

Tokens SDK заменит наличные (и остальную часть финансового модуля) в свое время, благодаря чему вы сможете сделать анонимные ключи изменений необязательными.

...