在我的账本作曲者项目中,我有一种药物作为资产。药品的类型不同,但是所有药品都必须先获得批准,然后才能生产和分配到供应链中。
我可以在区块链中存储允许资产列表,该列表可以增长还是缩小?还是我必须离线存储它?
答案 0 :(得分:2)
根据您对Riccardo Bonesi的回复,我建议这样的事情
asset AllowedMedicines identified by id {
o String id
o Medicines[] medicines
}
concept Medicines {
o String medicineId
o String medicineName
o Participants[] allowedParticipants
}
concept Participants {
o String participantId // either this is one below
--> Participant somePerson
// Any specific meta data you want to store
}
现在,在您的.js
文件中,您可以执行以下操作
const allowedMedicines = await registry.get(id);
const participant; // The person you are checking for
const medicineId; // The medicine against which you are checking
const medicines = allowedMedicines.medicines;
if (medicines.medicineId.contains(medicineId)) {
// Medicine is in the list;
let allowedParticipants = medicines.allowedParticipants;
if (allowedParticipants.contains(participant) {
// The participant is allowed access to the medicine
};
};
现在当然基于作曲家的版本,可能需要调整一些语法,但这是如何维护映射的一般思路。