Hyperledger Composer - транзакция не удалась - PullRequest
0 голосов
/ 03 мая 2018

Застревание при совершении транзакции на композитор-площадке. Github Ссылка . Выдает ошибку

t: экземпляр org.hcsc.network.Commodity # ts1 имеет свойство company с типом org.hyperledger.composer.system.NetworkAdmin, которое не является производным от org.hcsc.network.Trader screenshot of error

1 Ответ

0 голосов
/ 04 мая 2018

В вашем определении Trace у вас есть --> Trader company, а в вашем коде вы присваиваете me (текущий участник) - НО вы обработали транзакцию, используя идентификатор, связанный с администратором сети (org. hyperledger.composer.system.NetworkAdmin)

Вам нужно выполнить транзакцию как трейдер

  1. Создать нового участника Трейдера
  2. Выдать ID участника
  3. Выберите и используйте этот идентификатор
  4. Выполнить транзакцию

Кстати, я заметил, что вы используете new Date(); в своей транзакции - это пример «недетерминированного» значения, и когда вы переходите к многоуровневой конфигурации, это не удастся. Это не удастся, потому что, когда Fabric запускает транзакцию на Multi-peer и пытается найти консенсус, временные метки будут незначительно отличаться для каждого однорангового узла, и транзакция будет отклонена. По той же причине вы не можете использовать случайные числа в транзакциях.

...