-
Notifications
You must be signed in to change notification settings - Fork 67
New Tutorial: Introduction to libp2p #574
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
c8ac80e to
6753166
Compare
6753166 to
af3f54e
Compare
terichadbourne
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Most of this is way over my head, assuming knowledge of networking concepts that I don't have. So I understand that from it that:
- libp2p was pulled out of IPFS to make something more broadly applicable for different kinds of p2p use cases
- it's built modularly so you can pick and choose the pieces of it you need for your use case
- you can use it in web or mobile contexts
But I don't actually understand what it does because I'm not familiar with transports or any of the other modules in the networking stack.
6a2376c to
031aebd
Compare
vasco-santos
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work 👍🏼
Left some suggestions and comments for discussion
Co-authored-by: Vasco Santos <vasco.santos@ua.pt>
Co-authored-by: Vasco Santos <vasco.santos@ua.pt>
Co-authored-by: Vasco Santos <vasco.santos@ua.pt>
terichadbourne
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@zebateira Just finished my copy edit. Mostly focused on...
- grammatical tweaks
- softening the tone with more contractions, etc.
- adding some missing alt tags
- removing the backticks around libp2p and IPFS project names
- clarification in a few points - this is where I'm most likely to have screwed up, so if I changed your meaning anywhere instead of actually clarifying, please let me know and we can talk about wording
Please take a look and let me know what you think.
I love the visual elements you've included in this one!
Co-authored-by: Zé Bateira <jose.bateira@protonmail.com>
Co-authored-by: Zé Bateira <jose.bateira@protonmail.com>
|
I'm reviewing this now (looks great so far, will have small copyedits soon), and noticed that images are rendering a bit off in Safari: Some googling indicates that Safari recently started using the |
@yusefnapora thank you! 🙏
fixed! missed a flex property - safari is really pesky with flex. good catch 👌
Looking into this to try and solve the page loading issue actually: some lessons are really janky to load because of the amount of images they have, so this is a nice way to try and avoid that 🙏 |
de5c512 to
908cb11
Compare
|
Tried it and it's a better experience than before, but the UI would benefit from an image loader (medium style). Looking into this. loading.mp4 |
|
Looking better now: loading-placeholder.mp4But I'm not sure if we should pursue this for now for two reasons:
In the future when we migrate to a better markdown loader (eg mdx) we can think about this (plus, would allow the loading image to fade-in instead of just popping in). |
|
@zebateira nice, way to figure out the flex thing! The image loader does seem nice, but it would be cool if the build process could do the base64 inlining for us somehow... Sounds like it's probably just better to wait for the new markdown loader, if you're wanting to do that anyway. |
|
@yusefnapora Thanks for that catch! Assume you're still working on the copy edits you mentioned? @zebateira On Tuesday, do you want to give me a Figma tutorial so I can make the social tile (and blog header image)for this tutorial without breaking anything? I'm leaning towards waiting to create a libp2p course until we have our next libp2p tutorial, so this and that could both go in it. Would the content addressing and anatomy of a CID tutorials be relevant in a libp2p course or is the content addressing pretty separated from the networking bits? I assume that this libp2p tutorial should be included in our IPFS and Filecoin courses because it's under the hood for those, but not for Multiformats or IPLD. Does that sound right? From which of our existing tutorials would it make sense to link to this one in the resources page? I'm planning to be out on Monday but will do my best to carve out time to draft the blog post and newsletter announcement on Tuesday, maybe aim to launch on Thursday after wrapping up edits here and in those announcements? |
Let's do it 🎓
I'm not sure about this, maybe @yusefnapora could help with this? Main question here is whether content addressing and CIDs are basic building blocks for working with libp2p - I'd say you don't need need them to work with libp2p.
Sounds good yeah 👍
I'm not sure but I don't see any that would make sense - If we had an IPFS introductory course then it would make sense to link here I think.
That would be nice! 🙌 |
|
@terichadbourne yes, I'll have a few small suggestions this afternoon. I got a bit sidetracked by npm dependencies on Friday when setting up my local environment, but it's all sorted now. I'll try to reproduce the issue I was having on master, but it may have been fixed there already. |
yusefnapora
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a great intro to libp2p! I really like that it sets the historical context and explains how libp2p relates to IPFS.
I just added a few bits of english-teacher red pen for some typos and such.
@yusefnapora definitely let us know what you ran into. We’ve had a few folks lately that had a bug installing IPFS itself as part of our repo. |
Co-authored-by: Yusef Napora <yusef@napora.org>
|
@terichadbourne I think it was a bug in the build of I'm about to try on master now... if it's broken there I think the fix is just to update our IPFS dependency. Which hopefully doesn't break anything else... |
|
@zebateira & @yusefnapora - I've drafted a blog post over at ipfs-inactive/blog#517 that I'd love for you to proof. I'm not attached to the specifics, so feel free to copy edit or do more reworking if you feel I've missed key points. |
|
I believe we've now addressed all the the internal stuff we need to do with respect to linking between tutorials, adding social tiles, etc., so this should be ready to merge once tests pass. |


This PR adds the first
libp2ptutorial to ProtoSchool.This tutorial is based on @daviddias's talk in 2018 Developers Meetings: https://www.youtube.com/watch?v=CRe_oDtfRLw
Status:
catsoftheworld.comone to avoid linking to unsafe sites.libp2prunning in the browser screenshots are not showing well on small devices, as well as the nodejs vs browser code screenshots)Notes
libp2ptries to tackle in a different way.