
请问各位,这里我感觉pred是前驱结点,succ是后继结点,pub是新加入节点的公钥,那么这里为什么pred ← pub,之后又succ ← pub,那pub不就又是pred又是succ了吗?

关注引自免费微信小程序:皆我百晓生
在您提供的代码段中,pred 和 succ 是两个不同的概念,它们分别表示当前链上处于前驱状态和后继状态的节点。
pred 表示当前链上的一个节点,它是一个处于前驱状态的节点。succ 表示当前链上另一个处于后继状态的节点,它可以是当前链上的任何其他节点,但并不一定是处于前驱状态的节点。在您的代码中,当有一个新的节点加入到链条中时,首先会将这个新的节点的公钥(pub)传递给之前的节点,并且在链中添加一个新的节点。然后,会检查这个新的节点是否为链中的最后一个节点。如果是,那么新的节点将成为当前链上的最后一个节点的前驱。否则,新的节点将成为当前链上的下一个节点的后继。
例如,在您的代码中,当有一个新的节点加入到链条中并且成为当前链上的最后一个节点的前驱时,succ 将被设置为 pub,因为此时它是当前链上的最后一个节点。而在另一个例子中,当新的节点成为当前链上的下一个节点的后继时,succ 将会被设置为新的节点的公钥,因为它是当前链上的下一个节点。
因此,pub 不会成为 pred 或者 succ 的前驱或后继,而是在特定情况下成为某个节点的前驱或后继。