Blockchain 在Hyperledger Composer中-如何验证资产转移交易中参与者所有者的存在

Blockchain 在Hyperledger Composer中-如何验证资产转移交易中参与者所有者的存在,blockchain,hyperledger-fabric,hyperledger,hyperledger-composer,Blockchain,Hyperledger Fabric,Hyperledger,Hyperledger Composer,在Hyperledger Fabric Composer的“基本样本网络”或“交易网络”或“大理石演示”样本中-提交交易后,它会检查数据库中是否存在资产ID。但是,它不会检查新所有者(参与者)是否确实在场。如何检查新所有者是否实际存在于创建的数据库中 发布的示例是(类似)-基于此交易“交易”代码-> 我找到了确切的解决方案和语法。。这是用于大理石交易演示的,它检查参与者和资产是否存在 /** * Trade a marble to a new player * @param {org.h

在Hyperledger Fabric Composer的“基本样本网络”或“交易网络”或“大理石演示”样本中-提交交易后,它会检查数据库中是否存在资产ID。但是,它不会检查新所有者(参与者)是否确实在场。如何检查新所有者是否实际存在于创建的数据库中

发布的示例是(类似)-基于此交易“交易”代码->


我找到了确切的解决方案和语法。。这是用于大理石交易演示的,它检查参与者和资产是否存在

/**
  * Trade a marble to a new player
  * @param {org.hyperledger_composer.marbles.TradeMarble} tradeMarble - the trade marble transaction
  * @transaction
  */
 function tradeMarble(tradeMarble) {
   return getParticipantRegistry('org.hyperledger_composer.marbles.Player')
     .then(function(playerRegistry) {
       return playerRegistry.exists(tradeMarble.newOwner.getIdentifier())
     })
      .then(function(exists) {
       if(!exists) {
         throw Error('Invalid participant id')
       } else {
        return getAssetRegistry('org.hyperledger_composer.marbles.Marble')
         .then(function (assetRegistry) {
          tradeMarble.marble.owner = tradeMarble.newOwner;
          return assetRegistry.update(tradeMarble.marble);
      });
       }
     })
 }
/**
  * Trade a marble to a new player
  * @param {org.hyperledger_composer.marbles.TradeMarble} tradeMarble - the trade marble transaction
  * @transaction
  */
 function tradeMarble(tradeMarble) {
   return getParticipantRegistry('org.hyperledger_composer.marbles.Player')
     .then(function(playerRegistry) {
       return playerRegistry.exists(tradeMarble.newOwner.getIdentifier())
     })
      .then(function(exists) {
       if(!exists) {
         throw Error('Invalid participant id')
       } else {
        return getAssetRegistry('org.hyperledger_composer.marbles.Marble')
         .then(function (assetRegistry) {
          tradeMarble.marble.owner = tradeMarble.newOwner;
          return assetRegistry.update(tradeMarble.marble);
      });
       }
     })
 }