在玩 Hyperledger Composer 时出现以下错误。
{
"$class": "org.property.registration.purchaseProperty",
"propertyListing":
"resource:org.property.registration.PropertyListing#PL001"
}
错误:不允许尝试获取 InvalidRelationship 上的财产所有者。由于 ID 为“Asset:org.property.registration.Property”的集合中 ID 为“1003”的对象不存在而创建了 InvalidRelationship;[原因=参与者 'org.property.registration.User#0001' 没有对资源 'org.property.registration.Property#1003' 的“读取”访问权限]
我正在尝试访问作为另一个资产属性列表一部分的资产属性。
asset Property identified by PID {
o String PID
o Integer marketPrice
o DateTime regDate
o String propertyType
o String location
o String status default= "Registered"
--> User owner
}
asset PropertyListing identified by PLID {
o String PLID
--> Property property
}
我正在尝试访问 PropertyListing 资产并更改其中的属性资产的状态。 (我想从其他用户发布的propertyListing购买房产)
const registry = await getAssetRegistry(tx.propertyListing.property.getFullyQualifiedType());
await registry.update(tx.propertyListing.property);
// Remove the property from propertyListing()
const registry2 = await getAssetRegistry(tx.propertyListing.getFullyQualifiedType());
await registry2.remove(tx.propertyListing);
我希望并且根据错误消息,这似乎是一些权限问题,阻止我购买其他用户的房产帖子。
// User can see all properties listed for sale
rule UserAccessAllSaleProperties {
description: "Allow Users to access all properties listed for sale"
participant: "org.property.registration.User"
operation: ALL
resource: "org.property.registration.PropertyListing"
action: ALLOW
}
在这里,我想访问属于PropertyListing的属性。我正在尝试找出我可以使用的 ACL 的不足之处。仍在尝试。
欢迎各位大侠提出建议!!!