Participation

rank,auth_id,username,hole_punch_count,unique_peers_count
0,4,dennis raspberry pi,690340,37308
1,2,[email protected],454706,30240
2,15,guillaume ProtonVPN,334201,26544
3,12,[email protected],107362,10746
4,19,[email protected],85684,8105
5,16,[email protected],78622,7486
6,17,[email protected],8362,2587

7,3,dennis macbook pro,3673,998
8,1,elena,574,340
9,14,dennis server,72,56
10,5,Max 1,26,23
11,22,[email protected],17,16

output.png

<aside> ⚠️ We hole punch the same peers over and over again!

</aside>

Overall Hole Punch Outcomes

output.png

  1. UNKNOWN - There was no information why and how the hole punch completed
  2. NO_CONNECTION - The client could not connect to the remote peer via any of the provided multi addresses. At the moment this is just a single relay multi address.
  3. NO_STREAM - The client could connect to the remote peer via any of the provided multi addresses but no /libp2p/dcutr stream was opened within 15s. That stream is necessary to perform the hole punch.
  4. CONNECTION_REVERSED - The client used one or more relay multi addresses to connect to the remote peer, the /libp2p/dcutr stream was not opened within 15s, and we still end up with a direct connection. This means the remote peer successfully reversed it.
  5. CANCELLED - The user stopped the client (also returned by the rust client for quic multi addresses)
  6. FAILED - The hole punch was attempted multiple times but none succeeded OR the /libp2p/dcutr was opened but we have not received the internal start event OR there was a general protocol error.
  7. SUCCESS - Any of the three hole punch attempts succeeded.

Hole Punch Success Rate over Time

output.png

<aside> 💡 This graph ignores all other outcomes besides SUCCESS and FAILED. It shows the ratio of SUCCESS/(SUCCESS + FAILED )

</aside>

Hole Punch Attempts

output.png

<aside> 💡 In the case of a successful hole punch, which attempt was the one that went through?

</aside>

<aside> ⚠️ Rust no attempt reporting?

</aside>