enode地址中discport=0和[::]的作用是什么?

Coa*_*ted 5 ethereum go-ethereum

我想知道以太坊节点的 enode 地址末尾的“discport=0”的功能是什么。

另外,我发现我的 enode 地址有时用我的 IP 地址填充,但在其他时候检查时用 [::] 填充;有谁知道为什么存在这种行为?

ash*_*shb 3

这是我有限的理解。discport是发现 UDP 端口的缩写。如果不指定 UDP 侦听端口,则默认为 TCP 侦听端口。通过将其设置为 0,表明操作系统将为您找到合适的可用 UDP 发现端口。

源代码