覆盖子网络
TON的架构构建方式使得许多链可以同时且独立地存在于其中 - 它们可以是私有的或公共的。 节点能够选择它们存储和处理的分片和链。 同时,由于其通用性,通信协议保持不变。像DHT、RLDP和Overlays这样的协议使这成为可能。 我们已经熟悉前两者,在本节中我们将了解Overlay是什么。
概述
TON的架构构建方式使得许多链可以同时且独立地存在于其中 - 它们可以是私有的或公共的。 节点能够选择它们存储和处理的分片和链。 同时,由于其通用性,通信协议保持不变。像DHT、RLDP和Overlays这样的协议使这成为可能。 我们已经熟悉前两者,在本节中我们将了解Overlay是什么。
我们已经在关于DHT的文章中分析了一个查找overlay节点的例子,在搜索存储区块链状态的节点一节中。在这一节中,我们将专注于与它们的互动。
当查询DHT时,我们将获得overlay节点的地址,从中我们可以使用overlay.getRandomPeers查询找出这个overlay的其他节点的地址。一旦我们连接了足够数量的节点,我们就可以从它们那里接收所有区块信息和其他链事件,以及向它们发送我们的交易以供处理。
寻找更多邻居节点(neighbors)
让我们看一个在overlay中获取节点的例子。
为此,向任何已知的overlay节点发送overlay.getRandomPeers
请求,序列化TL模式:
重叠子网可以是公共的,也可以是私有的。
peers
- 应包含我们已知的节点,这样我们就不会再次得到它们,但由于我们还不知道任何节点,peers.nodes
将是一个空数组。
与overlay节点的互动
overlay内的每个请求都必须以TL模式为前缀:
当查询DHT时,我们将获得overlay节点的地址,从中我们可以使用overlay.getRandomPeers查询找出这个overlay的其他节点的地址。一旦我们连接了足够数量的节点,我们就可以从它们那里接收所有区块信息和其他链事件,以及向它们发送我们的交易以供处理。