<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Iroh on Text Matrix</title><link>https://txtmix.com/tags/iroh/</link><description>Recent content in Iroh on Text Matrix</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Tue, 21 Jul 2026 20:06:14 +0800</lastBuildDate><atom:link href="https://txtmix.com/tags/iroh/index.xml" rel="self" type="application/rss+xml"/><item><title>iroh 深度拆解：9K Stars 的 Rust 点对点网络栈，QUIC + 公钥寻址 + 中继回退，IP 地址的替代品为什么是它</title><link>https://txtmix.com/posts/tech/n0-computer-iroh-modular-networking-stack/</link><pubDate>Tue, 16 Jun 2026 21:03:41 +0800</pubDate><guid>https://txtmix.com/posts/tech/n0-computer-iroh-modular-networking-stack/</guid><description>&lt;h1 id="iroh-深度拆解9k-stars-的-rust-点对点网络栈quic--公钥寻址--中继回退ip-地址的替代品为什么是它">iroh 深度拆解：9K Stars 的 Rust 点对点网络栈，QUIC + 公钥寻址 + 中继回退，IP 地址的替代品为什么是它&lt;/h1>
&lt;h2 id="学习目标">学习目标&lt;/h2>
&lt;p>通过本文，你将能够：&lt;/p>
&lt;ul>
&lt;li>理解 iroh 的核心抽象：&amp;ldquo;一个公钥就是 endpoint&amp;rdquo;&lt;/li>
&lt;li>区分 iroh 与 libp2p、WebRTC、IPFS 等 P2P 方案的差异&lt;/li>
&lt;li>理解 iroh 的 5 个核心 crate（iroh、iroh-base、iroh-relay、iroh-dns-server、iroh-dns）的职责&lt;/li>
&lt;li>理解 iroh 的子协议三件套：iroh-blobs、iroh-gossip、iroh-docs&lt;/li>
&lt;li>知道 iroh 的连接生命周期：直连优先 → 中继 fallback&lt;/li>
&lt;li>能够评估 iroh 是否适合你的 P2P 应用场景&lt;/li>
&lt;/ul>
&lt;h2 id="目录">目录&lt;/h2>
&lt;ol>
&lt;li>&lt;a href="#%e5%85%88%e7%9c%8b%e7%bb%93%e8%ae%ba" rel="">先看结论&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%e4%b8%ba%e4%bb%80%e4%b9%88-libp2p-%e8%bf%98%e5%b7%ae%e4%b8%80%e5%9d%97%e7%ae%80%e6%b4%81%e7%9a%84-p2p-%e7%bd%91%e7%bb%9c%e6%a0%88" rel="">为什么 libp2p 还差一块&amp;quot;简洁的 P2P 网络栈&amp;quot;&lt;/a>&lt;/li>
&lt;li>[公钥就是 endpoint：拨号模型](#公钥就是-endpoint 拨号模型)&lt;/li>
&lt;li>[协议栈：iroh / iroh-base / iroh-relay / iroh-dns-server](#协议栈 iroh&amp;ndash;iroh-base&amp;ndash;iroh-relay&amp;ndash;iroh-dns-server)&lt;/li>
&lt;li>[子协议三件套：blobs / gossip / docs](#子协议三件套 blobs&amp;ndash;gossip&amp;ndash;docs)&lt;/li>
&lt;li>&lt;a href="#%e8%bf%9e%e6%8e%a5%e7%94%9f%e5%91%bd%e5%91%a8%e6%9c%9f%e7%9b%b4%e8%bf%9e%e4%bc%98%e5%85%88--%e4%b8%ad%e7%bb%a7-fallback" rel="">连接生命周期：直连优先 → 中继 fallback&lt;/a>&lt;/li>
&lt;li>[快速上手：Echo 示例](#快速上手 echo-示例)&lt;/li>
&lt;li>[其他语言：FFI](#其他语言 ffi)&lt;/li>
&lt;li>&lt;a href="#%e9%80%82%e7%94%a8%e8%be%b9%e7%95%8c" rel="">适用边界&lt;/a>&lt;/li>
&lt;li>&lt;a href="#6-15-v100-%e7%9a%84%e4%bf%a1%e5%8f%b7" rel="">6-15 v1.0.0 的信号&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%e8%87%aa%e6%b5%8b%e9%a2%98" rel="">自测题&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%e7%bb%83%e4%b9%a0" rel="">练习&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%e8%bf%9b%e9%98%b6%e8%b7%af%e5%be%84" rel="">进阶路径&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%e8%b5%84%e6%96%99%e5%8f%a3%e5%be%84%e8%af%b4%e6%98%8e" rel="">资料口径说明&lt;/a>&lt;/li>
&lt;/ol>
&lt;hr>
&lt;p>&lt;strong>判断&lt;/strong>：iroh 不是&amp;quot;又一个 libp2p fork&amp;quot;，也不是&amp;quot;为了 Rust 写的 Rust 网络玩具&amp;quot;。它精确卡在 libp2p 的痛点上：① libp2p 的 transport / identity / protocol API 太学术，实现 P2P 应用要拼装 5-6 个 crate；② libp2p 的 NAT 穿透依赖社区中继，质量参差。iroh 用 &lt;strong>&amp;ldquo;一个公钥就是 endpoint&amp;rdquo;&lt;/strong> 的极简抽象，把 hole punching + QUIC + 中继 + content-addressed blob transfer 全部塞进 5 个官方 crate，&lt;strong>2026-06-15 刚发 v1.0.0&lt;/strong>（半年从 v0.98 跳到 1.0）。这个时间点的信号很明确：项目从&amp;quot;实验性&amp;quot;跨过了&amp;quot;生产可用&amp;quot;门槛。&lt;/p></description></item></channel></rss>