Вот пример состояния, представляющего параметризованный юридический документ:
public class LegalProseState implements ContractState {
private Party partyA;
private Party partyB;
private int amount;
public String toString() {
return String.format(
"%s owes %s the sum of %d US dollars.",
partyA.getName(),
partyB.getName(),
amount);
}
public LegalProseState(Party partyA, Party partyB, int amount) {
this.partyA = partyA;
this.partyB = partyB;
this.amount = amount;
}
public List<AbstractParty> getParticipants() {
return ImmutableList.of(partyA, partyB);
}
public Party getPartyA() {
return partyA;
}
public Party getPartyB() {
return partyB;
}
public int getAmount() {
return amount;
}
}
Затем вы можете определить поток для выдачи этих LegalProseState
s в бухгалтерскую книгу. Поток будет:
- Создание нового
LegalProseState
, параметризованного с использованием параметров, передаваемых в конструктор состояния
- Добавить новое состояние в качестве вывода в новую транзакцию
- Сделка подписана обеими сторонами
- Хранить транзакцию обеими сторонами
Тогда оба узла будут иметь подписанную копию параметризованного юридического прозаического документа.