This is a short guide on how to make a P2P chat. My aim is to give you only a taste, if you like I could write a more deeper article explaining how all this things work. That said, lets start.
The only thing you will need is the latest NodeJS and your favorite editor, mine is Visual Studio Code. Now create a folder for our project, open a command line, initialize an npm repo with npm init and install some libraries we will need with:
npm i --save discovery-swarm dat-swarm-defaults portfinder get-port
Lets start by doing a simple P2P connection, thanks to some great libraries from the Node.js community it is too simple:
Run this code in two consoles and this is it!. Now you can run it in other device right in your LAN and should work even without internet, also you can share and run this script in any other computer or device with internet around the world and it just works, so nice!
This code uses the technology behind the Dat Project. All comunications are descentralized and work over a P2P network.
We will build a P2P secure chat using this code. The chat will have end-to-end encryption and can verify messages, be in touch!
I love feedback. Ask me questions, comment your experience with P2P technologies and share your ideas! Thanks for reading :)
This series is possible thanks to the awesome tools delivered by the DatProject, Webtorrent and the NodeJS community.