-
Notifications
You must be signed in to change notification settings - Fork 67
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
New Tutorial: CAR Files (IPLD / Filecoin) #412
Comments
@mikeal you just mentioned this in another channel:
ipfs/js-ipfs#2953 We could certainly present this as an IPLD tutorial and reference it from multiple other projects, just asking because the original suggestion came from the Filecoin team. |
sadly, no. The header only contains a "roots" array that specify the tip of DAGs that the format may contain. Resources:
That's a good question that we may have to wait and have an answer for. I think once people have the ability to export whole DAGs from IPFS then a bunch of interesting use-cases open up, well beyond Filecoin. e.g. in that js-ipfs PR I showed exporting the XKCD archive into a single file, that kind of fully-offline archiving capability has some interesting uses. Maybe it should become part of the normal workflow for people publishing websites to IPFS that they also take a CAR backup to stick into their cold storage rather than just hoping that their IPFS daemon will keep it properly pinned? We've also looked at the possibility of using this format as the basis of a generic block database store. The lack of inbuilt indexing makes that a bit tricky but building an external index of block positions and then reading those blocks directly out is something we can already do in Go and JS. |
A few months ago I’d say “Filecoin” but just in the last month we’ve seen the format gain traction across projects. I think it’s going to be a widely used format across our stack. It provides a very simple way to transfer data that should be useful even between IPFS instances. |
+1 on presenting this as a general lesson. Learning about CARs will be helpful to Filecoin users either way, but I'm not stuck on labelling it as such. The course outline originally proposed by @terichadbourne is really nice:
A few more suggestions:
|
@terichadbourne @mikeal @ribasushi @rvagg @mishmosh met on Jun 30 to discuss the most appropriate content angle and staffing plan for this tutorial (full notes here). Since we spoke, @mishmosh @har00ga @terichadbourne had a follow-up on staffing resources. Key takeaways: Primary focus for tutorial Format Target audience Stuff to cover
Stuff not to cover
Mystery notes (Teri doesn't know where they belong)
Timeline
Next steps
Please let me know if these notes and proposed staffing approach sound appropriate! |
Here's what I have for basic summaries for 2 separate tutorials. Feel free to chop / slice / add whatever you'd like, also need to discuss a few things about selectors during our meeting tomorrow. Hopefully this suffices Storage basics on the Filecoin Network
Storing and retrieving on the Filecoin network
|
Yes! This will be an important concept to feature.
|
Thanks so much for pulling this together @har00ga! The ordering of concepts here (other than selectors, see below) feels appropriate to me, just have a couple of initial reactions on structure and framing that I look forward to chatting about later today:
|
👎
👍 Selectors, while cool, have a rather limited utility for end-users within the Fil story. We'll cover this in more depth during the meet. |
Noted on 1 & 2 @terichadbourne, happy to make changes to reflect both those after the meeting 🙂 That was my question I had regarding selectors RE: 3, was mentioned conceptually a bunch of times in the notes but was also thrown in that it should be held off for now. Shall remove that part 👍 |
@har00ga @mishmosh @ribasushi and I met yesterday to work further on the outline for what's now 2 courses, the first of which @har00ga and @ribasushi will work together to finalize an outline for in our notes doc. @mishmosh Based on what we discussed yesterday, do you envision the already-proposed "How Filecoin enhances IPFS" tutorial that you were planning to outline being different from the one we discussed re moving files between IPFS and Filecoin (2nd piece of what's been discussed in this issue)? Just figuring out whether we need a third issue to capture all the plans. |
On Monday I met with @mitchwagner, who'll be drafting this tutorial with SME support from @ribasushi. 🎉 Based on further discussion with Mosh, it does look like the 2nd piece of what's been described in this issue could be the "How Filecoin enhances IPFS" tutorial (#413). Mitch will be starting to refine an outline for that one while drafting this one. |
We published our tutorial on Merkle DAGs yesterday. I'm going to close out this issue although it has a lot of comments that we'll need while planning a follow-up tutorial on how to store and retrieve files on Filecoin via IPFS. For continued discussion on that one, please see #413. |
In brainstorming ProtoSchool content that would be useful for the Filecoin project, @mishmosh suggested a multiple-choice tutorial on CAR Files, more or less an IPLD version of zip files, optimized for flattening. They're important in this context because Filecoin only stores flat files, not objects. CAR files have a header with all the CIDS they contain and make it easier to search for a subset of data you want. The spec lives in IPLD, and both Filecoin implementations use it.
Topics for a tutorial might include:
My understanding is that @rvagg @whyrusleeping @Stebalien might be among the experts on this topic, so I'd love feedback on whether this would be a useful topic, common misconceptions we should try to address, etc. Thanks!
The text was updated successfully, but these errors were encountered: