- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Ethereum 的新手通常到blockchain .我了解到以太坊区 block 链在 Kademlia 上运行. Eleuth P2P 很好地解释了分布式哈希表及其工作原理.
现在我用了geth连接到 Ethereum Mainnet它在 5 到 6 分钟内发现了 2 到 3 个最大对等点。
现在我知道算法了,但我关心的是如何发现第一个对等点?因为互联网只是一大组路由器和不同类型的计算机(服务器、计算机等),如果您像 ARP 中那样广播发现.互联网将充斥着这些对等发现广播消息,这似乎不对。那么最初是如何建立连接的呢?此外,我们不能在首次连接时信任单个网络,因为这将使系统基于服务器和客户端而不是去中心化的,那么初始连接和对等点发现是如何发生的?
我猜广播消息是否像 TCP 一样有 TTL 来防止循环?但这对我来说也是一个可怕的想法。
请解释。
最佳答案
In order to get going initially, geth uses a set of bootstrap nodes whose endpoints are recorded in the source code.
来源:Geth docs
这是 Geth 源代码中硬编码的引导节点列表:https://github.com/ethereum/go-ethereum/blob/v1.10.11/params/bootnodes.go#L23
--bootnodes
选项允许您用自己的列表覆盖此列表。上述链接文档中的示例:
geth --bootnodes enode://pubkey1@ip1:port1,enode://pubkey2@ip2:port2,enode://pubkey3@ip3:port3
关于blockchain - 以太坊协议(protocol)如何与 geth 协同工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69694890/
我是一名优秀的程序员,十分优秀!