首页 > 解决方案 > 以太坊协议如何与 geth 一起工作

问题描述

我是以太坊的新手,通常是区块的新手。我了解到以太坊区块链适用于KademliaEleuth P2P很好地解释了分布式哈希表及其工作。

现在我使用geth连接到以太坊主网,它在 5 到 6 分钟内最多发现了 2 到 3 个对等点。

现在我知道了算法,但我关心的是如何发现第一个对等点?因为互联网只是一大组路由器和不同类型的计算机(服务器、计算机等),如果你像ARP那样广播发现。互联网将充斥着这些对等发现广播消息,这似乎不对。那么最初是如何建立连接的呢?此外,我们不能信任单个网络进行首次连接,因为这将使系统服务器和客户端基于而不是分散,那么初始连接和对等点发现如何发生?

广播消息是否像我猜的那样具有 TTL 以防止 TCP 中的循环循环?但这对我来说似乎也是一个可怕的想法。

请解释。

标签: blockchainethereumgethdhtkademlia

解决方案


为了开始,geth 使用了一组引导节点,其端点记录在源代码中。

资料来源:Geth 文档

以下是 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

推荐阅读