在 hyperledger composer 中定义唯一关系
Define unique relationships in hyperledger composer
我有这个简化的场景:
asset device identified by deviceID
{
o String deviceID
o Data reading
}
concept Data identified by readingID
{
o String ReadingID
o Double Lng
o Double Lat
}
是否可以避免不同的设备具有相同的读数相关联,例如独特的关系?一个例子:
deviceID = 1111 --> readingID = aaaa
deviceID = 2222 --> readingID = aaaa
我正在努力避免这种情况。我尝试使用关系使用:
asset device identified by deviceID
{
o String deviceID
--> Data reading
}
把数据当作资产,我也有同样的问题
首先你的模型是:
asset device identified by deviceID
{
o String deviceID
o Data reading
}
concept Data
{
o String readingID
o Double Lng
o Double Lat
}
其次,Composer 中的关系不习惯 'enforce' la RDBMS 的唯一性(因为它不使用 RDBMS,它使用 key/value 存储)。
检查您的设备资产是否尝试使用已与资产关联的 readingID(存储在概念中,藏在资产注册表中的资产中)的最简单方法是 运行 查询注册表并在您的事务代码中使用 true 或 false。除非您将已经使用过的 ID 作为注册表存储在其他地方,但增加了更多的维护等。
我有这个简化的场景:
asset device identified by deviceID
{
o String deviceID
o Data reading
}
concept Data identified by readingID
{
o String ReadingID
o Double Lng
o Double Lat
}
是否可以避免不同的设备具有相同的读数相关联,例如独特的关系?一个例子:
deviceID = 1111 --> readingID = aaaa
deviceID = 2222 --> readingID = aaaa
我正在努力避免这种情况。我尝试使用关系使用:
asset device identified by deviceID
{
o String deviceID
--> Data reading
}
把数据当作资产,我也有同样的问题
首先你的模型是:
asset device identified by deviceID
{
o String deviceID
o Data reading
}
concept Data
{
o String readingID
o Double Lng
o Double Lat
}
其次,Composer 中的关系不习惯 'enforce' la RDBMS 的唯一性(因为它不使用 RDBMS,它使用 key/value 存储)。
检查您的设备资产是否尝试使用已与资产关联的 readingID(存储在概念中,藏在资产注册表中的资产中)的最简单方法是 运行 查询注册表并在您的事务代码中使用 true 或 false。除非您将已经使用过的 ID 作为注册表存储在其他地方,但增加了更多的维护等。