p2p chat, in rust, from scratch

preview_player
Показать описание

00:00 p2p chat demo
00:49 It's Rust. Don't freak out.
01:38 Install Rust Crash Course
02:19 Hello World, hello cargo
03:17 Editor & Directory Structure
04:55 Adding first crates
06:03 Endpoint
07:09 Use statements & Attributes
07:39 Returning Result Values
08:00 Implicit Return Statements
08:23 Secret Keys
09:52 Endpoint Setup
11:00 Gossip Protocol
13:03 What is gossip
14:53 Topics
16:32 Open & Join Roles
17:52 ? in rust
18:27 Broadcasting "sup?"
20:47 Subscribing to Gossip Events
23:44 Ignoring Local Events
24:59 Signaling
25:52 Tickets
26:54 Serde for serializing & deserializing
27:14 Cargo Crate Features
30:37 Peer Roles
31:25 Clap crate for building CLIs in rust
34:42 Roles, continued
36:03 Full Demo
36:57 Message Types
40:10 Conclusion?
41:33 Full Example
42:31 Conclusion, for real this time
Рекомендации по теме
Комментарии
Автор

This is so elegant, Rust really was built for this kind of software.

TenFeetDown
Автор

rand 0.9 came out the other day and this will break that first line until iron updates to take that into account. In the meantime, use rand 0.8.

joshka
Автор

as a long time backend dev i've always wanted to make the jump into p2p and rust, so this video is a dream come true! great work number computer people

dantescanline
Автор

Dawg... my new favorite channel... like instantly.

andrewiglinski
Автор

I like your way of finding the middle between rust for beginners and explaining iroh for people that are familiar with rust

claasdev
Автор

Great introduction! Thanks for your effort.

michaelhaasl
Автор

Thank you dude, it was a really smooth journey, you explained all that was required, made us read docs...thats cool..I learnt so much about p2p and networking in one video, i reasearched some more topics...I dont know rust but you made it so easy for us to follow. thanks.

yoman
Автор

this man wants me to rewrite my p2p terminal sharing program from go to rust
maybe I should learn rust

themannyzaur
Автор

My friend, your YouTube channel is amazing. Please keep up the good work! <3

MTH-GENIUS
Автор

Ay, it's nice to see Zed pop up in a random video YouTube threw at me due to me writing some Rust Voip stuff 🔥

moshyfawn
Автор

What a great video, exactly what the doctor ordered :)

Valeriooooh
Автор

Know nothing about Rust, but you are a good presented. Cheers !

antonkot
Автор

Note that you need rand 0.8.5 in cargo toml for this to work, 0.9 will throw an error

hangyakuzero
Автор

Yooo ! building same project your video is really helpful for streamlining my idea ❤

HaramPoliceHQ
Автор

Amazing, really! I wish you would implement voice chat with webRTC one day

O-
Автор

Amazing project and excellent demo! In following along, I encountered a one or two issues that I've not been able to debug myself. I'm not sure if it's PEBKAC, or an actual bug somewhere in the stack. Is there a forum, group, subreddit, etc specific to iroh that I can post my question(s) in for support?

runicas
Автор

This is amazing! Next do a video on iroh blobs. Specifically on file sharing use case

sundayg
Автор

That's an awesome video! I learned a couple rust things! I'm looking at the example code and given that signing is possible, end to end encryption is possible too. Sweet! Something about the connections. does Iroh have some form of verbose but friendly connection history? What i'm curious about when making a p2p connection is knowing if i'm actually having a p2p connection or if my data is routed trough "a relay" because a p2p connection couldn't be made directly? An example would be anyone behind a CGNat, which unfortunately, makes hole punching near impossible and some ISPs sadly start using that more due to IPv4 shortage (and them being lazy on getting IPv6).

markg
Автор

Hey, any chance you were planning on making content about libp2p? It doesn't seem like the easiest library to become familiar with, but would love to see your take on it.

christophersahyouni
Автор

your title says "from scratch" yet you use iroh

cookiekoekje
welcome to shbcf.ru