我的任务是学习HyperLedger Fabric,我应该建立一个拥有许多公司(参与者)的商业网络,每家公司都有很多发件箱(也是参与者?)。
每个发件箱都可以将消息(资产)写入区块链。
但是,只允许发件箱所属的公司查看/编辑该消息。
到目前为止,我已经成功实现了大部分运行,但截至目前,我仍然可以创建新的交易,其中消息属于公司1,并由Outbox 2发送,该发件人应该属于公司2.
如何解决这个问题,以便无法创建属于公司1的消息,同时创建一个本身不属于公司1的发件箱2?
asset Message identified by messageId {
o String messageId
o String text
--> Company writerCompany
--> App writerApp
}
abstract participant Member identified by memberId{
o String memberId
o String memberName
}
participant App identified by appId{
o String appId
--> Company company
}
participant Company extends Member{
}
participant Auditor extends Member{
}
transaction Write {
--> Message message
--> App writerApp
}
function Write(write) {
write.message.writerApp = write.writerApp;
return getAssetRegistry('org.acme.mynetwork.Message')
.then(function (assetRegistry) {
return assetRegistry.update(write.message);
});
}