Hyperledger fabric 如何更新hyperledger中资产的值
型号Hyperledger fabric 如何更新hyperledger中资产的值,hyperledger-fabric,hyperledger,hyperledger-composer,Hyperledger Fabric,Hyperledger,Hyperledger Composer,型号 asset Route identified by route_id { o String route_id o String rider_id o String parcel_id } transaction assignParcelToRider { o String rider_id o String parcel_id } logic.js var assetRegistry; var id = assignValue.rider_id; return get
asset Route identified by route_id {
o String route_id
o String rider_id
o String parcel_id
}
transaction assignParcelToRider {
o String rider_id
o String parcel_id
}
logic.js
var assetRegistry;
var id = assignValue.rider_id;
return getAssetRegistry('org.rytle.Route').then(function(ar) {
assetRegistry = ar;
return assetRegistry.get(id);
}).then(function(asset) {
asset.parcel_id = assignValue.parcel_id;
return assetRegistry.update(asset);
});
我想在这里找到车手id并在那里更新包裹id。但是这里没有找到骑手id。主要的问题是您需要通过使用
时的资产标识符来获取资产。get()
和骑手id
在您的模型中不是这样的
另外-可能需要更多信息-但这一切都取决于id
从assignValue.rider\u id
中获取值,我无法判断这是如何定义/断言的,以及它是否在范围内。但是,我可以看到id
应该在下面的功能范围内-但是使用正确的资产标识符,这应该有效(例如):
等等
ps您可以查看一些示例(例如在“test”目录下)-请注意,这些示例现在使用节点8附带的async/await
函数(而不是上面显示的“promissions”)(编写起来比使用promissions要容易得多,仅供参考)
return getAssetRegistry('org.rytle.Route').then(function(ar) {
return ar.get(route_id) // or whatever you've assigned it to or txnobject.route.getIdentifier()); // ie you must get the asset by identifier
}).then(function(asset) {
asset.parcel_id = id;
return ar.update(asset);
});