Open marten-seemann opened 1 year ago
I'd be in favor of a place where different implementations can collaborate and document, how they did things and what seems to be working well / not so well.
Almost like an implementation guide.
Another interesting topic would be the "address pipeline". Even though implementations are obviously free to do what they want, I think we could save some effort by documenting the thought process. For example, in rust-libp2p
, we ended making a system where every module can emit external address candidates which can then be picked up by something like autonat to go and verify and emit confirmed external addresses.
It would be great if we could write up the logic that go-libp2p uses, so other implementations can easily implement something similar. This is mostly non-normative, although we could say something like “An implementation MUST NOT dial more than 4 (?) addresses in parallel.”