Learning Objectives

Shallow Dive Goals
LIBP2P 1.0 - Understand what libp2p is and the benefits it provides
    LIBP2P 1.1 - Understand the main building blocks of libp2p
      LIBP2P 1.2 - Understand how libp2p establishes connections
        Deep Dive Goals
        LIBP2P 1.3 - Understand the content routing mechanisms used in a Distributed Hash Table
          LIBP2P 1.4 - Understand what is Pub/Sub and its main implementations in libp2p
            LIBP2P 1.5 - Learn what NAT Traversal is, and what different methods are available

              libp2p is the networking & communication layer for IPFS. Visit the main website for resources and information.

              Moving from a location-addressed system to a peer-to-peer, content addressed system presents a lot of challenges. The internet as it is, with firewalls and NATs, was designed to provide data (securely) for the traditional Web2 systems.

              libp2p is a modular system of protocols, specifications and libraries that enable the development of peer-to-peer network applications. Because of the way libp2p is architected, a lot of the needs and considerations that the web2 network was built on no longer apply.

              See the Implementations and Bundles for all of the libraries of modules you can use and bundles for different use cases available in various languages.