Недопустимая ошибка данных JSON на сервере отдыха композитора - PullRequest
0 голосов
/ 31 октября 2018

Я новичок в Hyperledger. Я получаю сообщение об ошибке на сервере composer rest при отправке запроса. Я ставлю это в запросе

{
  "$class": "org.example.biznet.SampleAsset",
  "assetId": "string",
  "owner": {},
  "value": "string"
}

и мой cto файл пространство имен org.example.biznet

participant SampleParticipant identified by participantId {
  o String participantId
  o String firstName
  o String lastName
}

asset SampleAsset identified by assetId {
  o String assetId
  --> SampleParticipant owner
  o String value
}

transaction SampleTransaction {
  --> SampleAsset asset
  o String newValue
}

event SampleEvent {
  --> SampleAsset asset
  o String oldValue
  o String newValue
}

Ответы [ 2 ]

0 голосов
/ 01 ноября 2018

просто @ajay Singh

Вы должны заменить {} на resource:org.example.biznet.SampleParticipant#participantId в поле ключа "владельца".

каждый раз, когда вы предоставляете отношения в каком-либо активе, например --> SampleParticipant owner, вам необходимо предоставить этого владельца отношений, как я упоминал выше.

сейчас, попытайтесь понять resource:org.example.biznet.SampleParticipant#participantId

org.example.biznet -> это пространство имен вашего файла cto.

SampleParticipant -> возможно, в вашем файле cto имеется более одного типа участника, в вашем случае есть только один тип участника, который является SampleParticipant.

'#' -> обязательно добавьте # между типом участника и идентификатором участника.

memberId -> уникальный идентификатор, который вы даете во время создания SampleParticipant.

Проще говоря, все эти вещи описывают, что SampleAsset с assetId 001 принадлежит SampleParticipant, у которого memberId 01.

0 голосов
/ 31 октября 2018

Похоже, вы используете пример JSON, но, к сожалению, в нем есть ошибка.

Свойство owner , имеющееся в SampleAsset, является отношением, но его просто необходимо представить в виде строки. В почтовом запросе вы можете просто указать идентификатор владельца, например, "owner" : "7465", или вы можете указать всю строку отношения "owner" : "resource:org.example.biznet.SampleParticipant#7465",

Примечание: что независимо от того, что вы указали в поле владельца, связь НЕ будет проверяться или разрешаться Composer.

...