首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在供应链上分配“药品”资产?

如何在供应链上分配“药品”资产?
EN

Stack Overflow用户
提问于 2020-05-16 13:58:26
回答 1查看 41关注 0票数 0

我正在Hyperledger Composer中设计一个供应链应用程序。我有一个毒品资产,看起来像这样:

代码语言:javascript
复制
asset Drug identified by DrugId {
  o String DrugId
  o String DrugName
  o Integer qty
  --> Trader presentOwner
}

我有一个制造商对批发商的交易:

代码语言:javascript
复制
transaction M2W {
  --> Drug drug
  o Integer qtyreq
  --> Wholesaler newOwner
}

如何确保当我进行交易时,制造商的资产以减少的数量保留,并以所需数量为批发商创建新资产?

EN

回答 1

Stack Overflow用户

发布于 2020-05-24 21:42:21

将两个链码命名为制造商和批发商,并确保这两个链码在同一通道上。

制造商链码由以下命名的方法组成:

代码语言:javascript
复制
item(ctx, DrugName, current quantity, quantity_to_be_supplied_to_wholesaler){
current quantity= current quantity-quantity_to_be_supplied_to_wholesaler;
drug={
DrugName
current quantity,
quantity_to_be_supplied_to_wholesaler,
}

使用以下命令将这些详细信息保存到账本中

代码语言:javascript
复制
ctx.stub.putstate(drugID, Buffer.from(JSON.stringify(drug)));

查询链码上存储的药品列表,必须实现query_drug。

在批发商链码上,您可以使用以下命令检索药品记录的详细信息

代码语言:javascript
复制
 const response = await ctx.stub.invokeChaincode('Manufacturer', ['queryDrugs', drugId ], 'channel_name');

然后你可以用来检索药物记录

代码语言:javascript
复制
 var r1=response.payload; //getting payload from response

 var s1=r1.toString(); // converting payload buffer to string.
 var s=JSON.parse(s1); //convert string to JSON object.
 var qty=s['quantity_to_be_supplied_to_wholesaler'];

然后,您可以通过以下方式将数量添加到批发商记录:

代码语言:javascript
复制
current quantity=current quantity+qty;

然后,您可以使用以下命令将此数量添加到账本中

ctx.stub.putState(ID,qty);

看起来有点乱七八糟,但希望能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61832516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档