/jslibp2p-chat-tutorial

A guided tutorial for building a chat app using js-libp2p

Primary LanguageRustMIT LicenseMIT

Js Libp2p Chat Tutorial

Getting hands dirty with libp2p!

What is this?

This is an interactive self-placed workshop. The aim to the workshop is to help p2p enthuciasts get started with libp2p. Through this workshop you will build a completely decentralised chat system using the open source framework js-libp2p.

The material will focus on making user understand the dictionary of libp2p, then find right documentation, and self apply it.

This workshop currently only focuses on the node.js implementation of libp2p!

For Whom?

Have you always heard the keyword libp2p but were never able to wrap your head around? Have you tried to undertand what the heck is a modular networking stack and then got deeper into dht, multiadrs, nat transversal, and every networking term.. and never came out? Have you tried to learn libp2p but was frustated due to the awesome docs and ended up reading the source code?

If Yes, this is the perfect place! if no and you just accidently entered this page, but you want to learn something so awesome that it has capability to revoultionanise the web! this is for you!

The tutorial assumes that user has basic programming and networking skills. You don't need to be a wizard of crytography, or blockchain, or advance networking, or any other super complicated topic to use this.

How to use this?

The material is broken into chapters, it is highly recommentded to start sequencially. Every chapter aims to explain a module of libp2p, and proceed with overall developement of the chat system. Every chapter provides with description, references, and some awesome tasks that you need to do inorder apply what you learnt.

It is totally normal to get stuck from time to time or to not understand what the material is attempting to explain. In those situations it helps a lot to discuss the problem in the gitter channel or create issue in the github repo. This also helps other users as they might also be facing a similar problem and also creating a issue imporves the material itself.

How to contribute

  • Open issues on our GitHub
  • Fork and clone the repository
  • Install node, from bash run npm i docsify-cli -g to install docsify
  • From bash run docsify serve to start the live server
  • Contribute by commiting and pushing changes to a branch of your origin fork and creating a Pull Request to the upstream repository

Acknowledgement