问题:
我已经在Hyperledger作曲家的.cto文件中创建了扩展参与者。就是这样。
participant User identified by nic{
o String nic
o -----
o -----
o -----
o String verified
}
participant Seller extends User{
o ----
o ----
}
participant Buyer extends User{
o -----
o -----
}
但是现在我正在解决一个问题。如果我更新了用户的某些属性,我应该只更新用户注册表,还是必须更新所有三个参与者注册表?假设我要更新User的验证属性。我正在互联网上寻找解决此问题的解决方案,但找不到任何可以解决此问题的好的解决方案。谢谢
答案 0 :(得分:1)
由于用户参与者以某种方式链接到卖方和买方,因此您不需要更新所有其他参与者,我认为您只需要执行以下操作即可:
IF OBJECT_ID('tempdb..#Temp') IS NOT NULL
DROP TABLE ##SourceValues
SELECT TOP 2
TestergebnisID,Pass, Fail
INTO #Temp FROM Testergebnisse (NOLOCK)
WHERE TestaufstellungID = 3166
ORDER BY TestergebnisID DESC
DECLARE @LastId INT = (SELECT MAX(TestergebnisID) FROM #Temp)
DECLARE @SecondToLast INT = (SELECT MIN(TestergebnisID) FROM #Temp)
UPDATE DB.dbo.Testergebnisse SET Pass = (SELECT Pass FROM #Temp WHERE TestergebnisID = @SecondToLast) WHERE TestergebnisID = @LastID
UPDATE DB.dbo.Testergebnisse SET Fail = (SELECT Fail FROM #Temp WHERE TestergebnisID = @SecondToLast) WHERE TestergebnisID = @LastID
更新扩展属性的作用相同:
const participantRegistry = await getParticipantRegistry(you.org.net.User);
let user = you.org.net.User#UserToUpdate
user.verified = true;
// Update the participant in the participant registry.
await participantRegistry.update(user);