javascript - 在超级账本结构链码中合并 2 个对象
问题描述
嗨,我是超级账本结构的新手。像每个人一样,我通过文档设置了织物链,并使用织物样本在我的 ubuntu 上工作。我需要创建需要 2 个对象并且应该定义关系的链代码。在 fabcar 中,应用程序端得到了很好的解释,但是我在合并 2 个对象时遇到了问题,因为 fabcar 中只使用了一个对象(汽车)
现在我已经在我的链代码中创建了这两个对象,就像使用不同的函数一样
async createItem(ctx,id ,Name, status, description, owner) {
const item = {
Name,
status,
description,
owner,
};
await ctx.stub.putState(id, Buffer.from(JSON.stringify(item)));
}
现在我遇到的问题是当我必须按照 fabcar 函数中的描述查询它们时
async queryAllCars(ctx) {
const startKey = '';
const endKey = '';
const allResults = [];
for await (const {key, value} of ctx.stub.getStateByRange(startKey, endKey)) {
const strValue = Buffer.from(value).toString('utf8');
let record;
try {
record = JSON.parse(strValue);
} catch (err) {
console.log(err);
record = strValue;
}
allResults.push({ Key: key, Record: record });
}
console.info(allResults);
return JSON.stringify(allResults);
}
在这里你可以看到三个没有汽车标识符的地方它专门对链码说需要所有汽车条目..所以我想知道如果我们在链码中有 2 个对象如何完成,所以我可以具体告诉链码给我物品或客户。很抱歉问了这样一个基本问题,但请帮助我。
解决方案
在链码中,您可以轻松地做到这一点。我所做的是添加开始键和结束键
CUST0 (startkey) CUST99999999999 (endkey)
在客户再生时,您必须添加类似的密钥并检查订单。同样,如果您正在注册项目,您可以添加 ITEM0 - ITEM999999999
这个数字 9999999999 只是为了获取特定对象的所有餐馆
推荐阅读
- .net-core - 我可以在 RavenDB 中使用构造函数重载吗?
- mysql - MySQL Debezium Kafka:此连接器不知道架构
- sql - 按特定值分区,然后在 Oracle 中按范围分区
- hive - 连接到 hive 以使用 kerberos 执行查询
- c++ - 编译后忽略 C++ 6.0 代码(日期时间计算器代码)
- python - 我收到了语法错误,但看不到有什么问题
- linux - 在 Amazon EC2 中从 php 5.3 和 apache 2.2 升级到 php 7 和 apache 2.4
- firebase - 在我的 Firebase 查询末尾添加了一个点
- r - 高效的增量存储和按时间戳快速恢复列表更改
- sharepoint - executeQueryAsync 回调函数偶尔执行