Hyperledger fabric 从命令行添加资源

Hyperledger fabric 从命令行添加资源,hyperledger-fabric,hyperledger,hyperledger-composer,Hyperledger Fabric,Hyperledger,Hyperledger Composer,我在composer 0.11.3中使用一组Hyperledger 1.0.2 docker图像 我使用的练习网络是一个SampleParticipant和一个SampleSet。 我能够使用composer participant add和JSON片段从命令行部署参与者。 我还没有找到将SAMPLeaseSet插入资产注册表的等效命令行方法。当我使用composer rest服务器发布定义Samplesset的JSON片段时,它返回了以下错误 Error: Peer has rejected

我在composer 0.11.3中使用一组Hyperledger 1.0.2 docker图像 我使用的练习网络是一个SampleParticipant和一个SampleSet。 我能够使用composer participant add和JSON片段从命令行部署参与者。 我还没有找到将SAMPLeaseSet插入资产注册表的等效命令行方法。当我使用composer rest服务器发布定义Samplesset的JSON片段时,它返回了以下错误

Error: Peer has rejected transaction '4d2...91f' with cdoe MVCC_READ_CONFLICT
然后,在阅读了关于BatchTimeout和locking的评论后,我重新提交了该评论,但我没有修改,因为我是婴儿链上的单个用户。第二次,REST服务器返回

Error: Failed to add object with ID 'assetId:1' as the object already exists)
我可以用composer网络列表验证资产注册表是否已更新:

name:       basic-sample-network
models:
  - org.hyperledger.composer.system
  - org.acme.sample
scripts:
  - lib/sample.js
registries:
  org.acme.sample.SampleAsset:
    id:           org.acme.sample.SampleAsset
    name:         Asset registry for org.acme.sample.SampleAsset
    registryType: Asset
    assets:
      assetId:1:
        $class:  org.acme.sample.SampleAsset
        assetId: assetId:1
        owner:   resource:org.acme.sample.SampleParticipant#Toby
        value:   new value
  org.acme.sample.SampleParticipant:
    id:           org.acme.sample.SampleParticipant
    name:         Participant registry for org.acme.sample.SampleParticipant
    registryType: Participant
    assets:
      Toby:
        $class:        org.acme.sample.SampleParticipant
        participantId: Toby
        firstName:     Tobias
        lastName:      Hunter

为什么REST服务器会有这种奇怪的行为,它抱怨MVCC_READ_冲突,但却插入了记录,我有没有办法从命令行插入Samplesset?

hmmm。。不确定为什么会出现MVCC错误(正如您所说,这与确实添加的资产无关,如您所示)

composer transaction submit
是从命令行(例如)提交事务以添加资产的方法-文档中的示例(“示例命令”)和下面的另一个示例: