首页 > 解决方案 > 如何在没有交易处理器功能的情况下自动建立资产关系?

问题描述

正如标题所说,我正在尝试在两个资产之间建立关系,并且我不希望需要额外的事务,因为我希望在创建资产时自动形成这种关系。例如,我正在尝试创建将在一次装运下装运的多种货物。因此,我希望双方自动形成关系,这样当我创建货物 (CARGO_001) 并将其链接到装运 (SHIP_001) 时,我还可以从 Shipment Get API 中检查以获取货物列表携带。但是,当我创建货物时,我当前的解决方案不会自动生成两侧的关系,而只会在一侧,即货物侧。

这是我的 .cto 模型文件中的代码,

asset Cargo identified by cargoId {
  o String cargoId
  o ProductType type
  o ShipmentStatus status
  o Long quantity
  o GpsReading origin optional
  o TemperatureReading[] temperatureReadings optional
  o GpsReading[] gpsReadings optional
  o ToppleReading[] toppleReadings optional
  o LuxReading[] luxReadings optional
  o Boolean temperatureViolation default=false
  o Boolean toppleViolation default=false
  o Boolean boxOpened default=false
  o Integer tempcount default=0
  o Boolean previousViolation default=false
  --> Contract contract
  --> Shipment shipment optional
  o CargoPacked cargoPacked optional
  o CargoPickup cargoPickup optional
  o CargoLoaded cargoLoaded optional
  o CargoReceived cargoReceived optional
}

asset Shipment identified by shipmentId {
  o String shipmentId
  --> Cargo[] cargo optional
}

标签: hyperledgerhyperledger-composer

解决方案


您可以创建一个添加 Cargo 资产并将其链接到 Shipment 资产的事务,而不是使用标准 POST 请求(如果使用 REST)或“创建新资产”(使用 Playground 时)


推荐阅读