如何正确更新Hyperledger composer中的扩展参与者?

时间:2019-03-31 08:00:26

标签: hyperledger-composer

问题:

我已经在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的验证属性。我正在互联网上寻找解决此问题的解决方案,但找不到任何可以解决此问题的好的解决方案。谢谢

1 个答案:

答案 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);