ошибка при выполнении кода матрицы Hyperledger на локальном хосте: 3000 (через REST) ​​- TransactionId - PullRequest
0 голосов
/ 31 мая 2018

Я попытался выполнить пример случая перевода денег между двумя счетами, ссылаясь на это: https://medium.freecodecamp.org/ultimate-end-to-end-tutorial-to-create-an-application-on-blockchain-using-hyperledger-3a83a80cbc71

Я выполнил все шаги, от создания .bna и .card до их установки, запустивсеть и т. д. При создании RESTful API я вижу блокчейн на localhost: 3000 / explore.Я также могу добавлять клиентов и связанные с ними данные учетной записи.

Однако при выполнении денежного перевода по умолчанию создаются два поля: Transaction ID и отметка времени.

снимок экрана, показывающий 2 дополнительных поля - отметка времени и идентификатор транзакции

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

ошибка, когда поле транзакции остается пустым

обновление

Даже после записи "transactionId" : true или "transactionId" : false проблема сохраняется.

Другой пользователь столкнулся с подобной проблемой.Они исправили это, сделав свои npm и node.js не-root.В моем случае это уже не root. это не root Возможно ли, что npm и node.js установлены неправильно?Я получил несколько ошибок во время установки npm ошибок во время установки

Даже после удаления полей transactionId и timestamp он не работает

error after removing both fields

Ответы [ 2 ]

0 голосов
/ 17 августа 2018

Я также столкнулся с подобной проблемой, изучив ее и потратив много времени.Я обнаружил, что это не проблема npm и node.js , если мы устанавливаем их как root.Это проблема Loopback, поэтому вы должны сделать JSON-запрос API без «actionId » и « timestamp », что означает удаление обоих.Это будет работать нормально, так как петлевое чванство обновит его автоматически.Я надеюсь, что это сработает для всех, кто сталкивается с такой же проблемой.

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

Идентификатор транзакции (в примере) в идеале не должен появляться в примере Swagger для операций POST.Этот пример генерируется преобразованием LoopBack в Swagger , которое выполняется кодом LoopBack (не Composer).Вам нужно удалить его (и, в идеале, временную метку, так как Composer будет обновлять свою собственную) в вашем JSON.

см. Почему я могу представить транзакциюID с транзакцией в REST?за ответ.Эта проблема петли / свагера была создана против петли - последняя созданная проблема была https://github.com/strongloop/loopback/issues/3510

...