<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>P2p on 虫子樱桃</title>
    <link>https://czyt.eu.org/tags/p2p/</link>
    <description>Recent content in P2p on 虫子樱桃</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh</language>
    <lastBuildDate>Thu, 09 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://czyt.eu.org/tags/p2p/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>go-libp2p简明教程</title>
      <link>https://czyt.eu.org/post/go-libp2p-quick-guide/</link>
      <pubDate>Thu, 09 Apr 2026 00:00:00 +0000</pubDate>
      
      <guid>https://czyt.eu.org/post/go-libp2p-quick-guide/</guid>
      <description>从零开始，手把手带你构建 P2P 网络应用,本文由claude code编写
1. 核心概念扫盲 在写代码之前，先花 5 分钟理解几个关键词。这些概念会贯穿整个教程。
PeerID —— 节点的&amp;quot;身份证&amp;quot; 每个 libp2p 节点在启动时都会生成（或加载）一对密钥（默认是 Ed25519）。PeerID 就是公钥的哈希值，是全网唯一的节点标识。
QmYyQSo1c1Ym7orWxLYvCrM2EmxFTANf8wXmmE7DWjhx5N Multiaddr —— 节点的&amp;quot;地址簿&amp;quot; 传统 TCP 地址长这样：192.168.1.1:4001。libp2p 的多地址（Multiaddr）更丰富，包含了协议栈信息：
/ip4/192.168.1.1/tcp/4001/p2p/QmYyQSo1c1Ym7orWxLYvCrM2EmxFTANf8wXmmE7DWjhx5N └─────────────┘ └────────┘ └─────────────────────────────────────────────────────┘ IP 地址 TCP 端口 PeerID 也可以是：
/ip4/0.0.0.0/tcp/0 —— 随机端口的 TCP /ip4/0.0.0.0/udp/0/quic-v1 —— QUIC 协议 /dns4/example.com/tcp/443/wss —— WebSocket over TLS Host —— 你的节点实例 host.Host 是 libp2p 的核心对象，可以理解为&amp;quot;这台机器在 P2P 网络中的代理&amp;quot;。所有操作都从它出发：监听连接、发起连接、注册协议处理器等。
Stream —— 连接上的&amp;quot;通道&amp;quot; 两个节点建立连接后，可以在同一条底层连接上开多条流（Stream），每条流对应一个协议（类似 HTTP/2 的多路复用）。
Protocol ID —— 协议的&amp;quot;频道号&amp;quot; 每条流都有一个协议 ID，是一个字符串，用于标识通信双方在&amp;quot;聊什么话题&amp;quot;：</description>
    </item>
    
  </channel>
</rss>
