Невозможно выдать IOU по шаблону Corda-Training Java -Src - PullRequest
0 голосов
/ 06 января 2020

IOUIssueFlow принимает параметр IOUState state. Как описано в создании экземпляра класса , мы можем предоставить объект состояния потоку через оболочку cra sh, как (также пробовано без знака доллара):

flow start IOUIssueFlow$InitiatorFlow state: { amount: $10, lender: "O=ParticipantB, L=New York, C=GB", borrower: "O=ParticipantC, L=Paris, C=FR" }

Это утверждение работает с Kotlin версией шаблона corda-training-template, но выдает следующую ошибку в Java версии:

No matching constructor found:
- [net.corda.training.state.IOUState]: Could not parse as a command: Cannot construct instance of `net.corda.training.state.IOUState` (no Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator)
 at [Source: UNKNOWN; line: -1, column: -1]

Хотя я не использую значение по умолчанию конструктор, конструктор по умолчанию должен вызываться this():

@ConstructorForDeserialization
    public IOUState(Amount<Currency> amount, Party lender, Party borrower, UniqueIdentifier linearId){
        this.amount = amount;
        this.lender = lender;
        this.borrower = borrower;
        this.linearId = linearId;
    }

    public IOUState(Amount<Currency> amount, Party lender, Party borrower) {
        this(amount, lender, borrower, new UniqueIdentifier());
    }

Каков правильный синтаксис для выдачи состояния ввода-вывода в corda-training-template ?

Ответы [ 2 ]

0 голосов
/ 12 марта 2020

Вероятно, проблема здесь lender: "O=ParticipantB, L=New York, C=**GB**". Должно быть C=US

0 голосов
/ 23 января 2020

начальная сумма IOUIssueFlow: 10 долларов США, кредитор: участник B, заемщик: участник C

Это должно запустить требуемый поток IOU.

...