Getting your hands dirty with libp2p!
This is an interactive self-placed workshop. The aim of this workshop is to help the libp2p enthusiasts to get started with libp2p. Through this workshop you will be able to build a completely decentralized chat system using the open source framework js-libp2p.
This workshop currently only focuses on the node.js implementation of libp2p!
Have you ever heard the word libp2p
but were never able to wrap your head around it? Have you tried to understand what the heck is a modular-networking stack and then got deeper into other such terms such as dht, multiadrs, nat transversal, and every networking term..
and never came out? Have you tried to learn libp2p but got frustrated because instead of the awesome docs, you ended up reading the source code?
If Yes, this is the perfect place! If no, and you just accidentally entered this page, but you want to learn something so awesome that it has capability to revolutionize the web! this is the place for you!
The tutorial assumes that you have a basic programming knowledge and networking skills. You don't need to be a wizard of cryptography, or blockchain, or advance networking, or any other super complicated topic to use this.
The material is broken into chapters, it is highly recommended to proceed sequentially. Every chapter aims to explain a module of libp2p, and proceed with overall development of the chat system. Every chapter provides with the description, references, and some awesome tasks that you need to do in order apply what you learn.
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 improves the material itself.
- Open issues on our GitHub
- Install node; For Unix-based consoles, open terminal and use the following command to install node -
sudo apt-get install nodejs
. Also install the node package manager, NPM, using the command -sudo apt-get install npm
. - Install docsify using the command
npm i docsify-cli -g
. - Fork and clone the repository
- Open terminal from the location of the cloned repository and from bash, run
docsify serve
to start a live server (local-host) in your browser. - You can simply contribute by committing and pushing changes to a branch of your original fork and then by creating a Pull Request to the upstream repository.
- This tutorial is an extension to the jslibp2p-chat-example.
- This tutorial was highly inspired with Substrate-Kitties and Crypto-Zombie. TODO: Acknowledge SimpleAsWater, EdCon2020, GIVO