2020-12-14
4326
#rust#web3
Mario Zupan
30541
Dec 14, 2020 ⋅ 15 min read

libp2p tutorial: Build a peer-to-peer app in Rust

Mario Zupan I'm a self-employed Software Engineer and Trainer living in Vienna, Austria. I've worked at several companies and in multiple fields building, maintaining and operating distributed systems at scale using Java, Kotlin, Node, Go and Rust. I also taught advanced software engineering courses for several years at the University of Applied Sciences FH Joanneum in Graz and worked as a technical trainer, empowering other software engineers to reach their full potential. Currently, I work as a freelance software engineer and trainer again, looking to help companies build high-quality software solutions. Check out my personal blog: http://www.zupzup.org.

Recent posts:

jack herrington useeffectevent

React has finally solved its biggest problem: The joys of useEffectEvent

Jack Herrington breaks down how React’s new useEffectEvent Hook stabilizes behavior, simplifies timers, and enables predictable abstractions.

Jack Herrington
Jan 7, 2026 ⋅ 5 min read

Don’t ship another chat UI. Build real AI with AG-UI

AG-UI is an event-driven protocol for building real AI apps. Learn how to use it with streaming, tool calls, and reusable agent logic.

Emmanuel John
Jan 6, 2026 ⋅ 14 min read

Anti-frameworkism: Choosing native web APIs over frameworks

Frontend frameworks are often chosen by default, not necessity. This article examines when native web APIs deliver better outcomes for users and long-term maintenance.

Anna Monus
Jan 5, 2026 ⋅ 7 min read
Introducing Valdi

Should you bet on Valdi instead of React Native?

Valdi skips the JavaScript runtime by compiling TypeScript to native views. Learn how it compares to React Native’s new architecture and when the trade-off makes sense.

Ikeh Akinyemi
Dec 30, 2025 ⋅ 7 min read
View all posts

3 Replies to "libp2p tutorial: Build a peer-to-peer app in Rust"

  1. Nice, extending bit basic example available in source, but I think it should be fair to highlight that this example is oversimplified:
    1) it’s using only mDNS for peers discovery so it’ll never get beyond local network
    2) Using floodsub for for responses to particular query is real overkill – response needs to go one node, but it’s amplified all overlay (taking into consideration already inefficient floodsub message replication)

    So couple more things to try:
    1) Enable bootstrap nodes (as already used in libp2p examples)
    2) Use RequestReply NetworkBehaviour to send replies to list query just to interested nodes (might require to include requestor in list broadcast)
    3) Use more efficient Gossipsub instead of Floodsub – basically same interface, so not so much changes

Leave a Reply

Would you be interested in joining LogRocket's developer community?

Join LogRocket’s Content Advisory Board. You’ll help inform the type of content we create and get access to exclusive meetups, social accreditation, and swag.

Sign up now