Dev log 26:钻进 libp2p 的草丛,修 DHT 前缀与 Yamux 重置
来源:dev.to — 2026-10-20
📋 概述
作者这一周没有新功能,都在补地基:给 py-libp2p 提了两个协议级修复。第一个是 DHT 明明接受了自定义 protocol_prefix,线上却照样说 /ipfs/kad/1.0.0——这让任何想跑私有网络或专用 DHT 的人根本没法隔离公共 IPFS 网络;他加了约 130 行、删掉 17 行,让前缀真正传到协议层。第二个更危险:Yamux 在受限读取时把远端的 RST 帧报成干净的 EOF,等于告诉应用「一切正常结束」,而真相是连接被突然丢弃。另外他开了四个 issue,记录挡住工作和弄坏 CI 的问题。
🔑 核心要点
- DHT 前缀被静默忽略的问题不大,但没它就无法构建自定义网络。
- 干净 EOF 与 RST 的差别,是「可靠的传输」与「传完了但以为成功、实际已损坏」。
- p2p 的 happy path 都很容易,真正的活全在边界情况里。
- 两个 PR 都还在等维护者评审,作者预期测试用例上还会有来回。
💡 金句
“A clean EOF tells the application everything finished successfully, while a RST should tell it the connection was dropped abruptly.”
译:干净的 EOF 告诉应用「一切顺利完成」,而 RST 该告诉应用「连接被突然丢弃」。
← 返回 dev.to 首页