Мне нужно несколько узлов для построения одной транзакции.Чтобы добиться этого, я создаю TransactionBuilder
и передаю его узлам, которые затем добавляют к нему свои состояния.
Это кажется законной практикой, поскольку в официальной документации 1005 * упоминается TransactionBuilder
предназначен для передачи по контрактам, которые могут редактировать его путем добавления новых состояний / команд.
Я добавил TransactionBuilder
в белый список сериализации, чтобы Corda могла отправлять / получать его.
Однако при запуске модульного теста сеть выдает это исключение:
java.lang.UnsupportedOperationException: null
at java.util.Collections$UnmodifiableCollection.add(Collections.java:1055)
at net.corda.core.transactions.TransactionBuilder.addInputState(TransactionBuilder.kt:149)
Я изучил его в отладчике, и тип компоновщика после его получения - UnmodifiableList
.
Моя работа заключается в том, чтобы скопировать сборщик после его получения.
Но почему он так работает?Я неправильно истолковал документацию?
Мы используем Corda 3.3