-
Notifications
You must be signed in to change notification settings - Fork 1.2k
🚣 captain.log - IPFS JavaScript implementation 🌟 #30
Comments
Aye! Check my new entry, arr :) LOG - Week of 28th of SeptemberPlan:
Where you can help during this week:
|
LOG - Week of December 21Update:
Next:
Notes:
|
LOG - 26 of JanuaryUpdate:
Next:
Where you can help?In lots of places, check https://github.com/ipfs/js-ipfs/issues for descriptions, there is a huge amount of things that were unblocked once IPFS Repo and MerkleDAG were implemented and that can be done in parallel :) Once we get this all done, we will focus again on libp2p to get the networking stack ready for prime time! Thank you! |
LOG - February 23 🚣We've been pretty busy working on the JavaScript implementation of IPFS. There are more things that you can use now and all of them interop with the Go implementation. Before starting with the formal update and next steps, I just wanted give a shout out to everyone that has been submitting patches or contributing with features to js-ipfs lately. Special thanks goes to: Update
Extra - @RichardLitt has been putting an incredible amount of work in documenting the HTTP-API of IPFS, giving us a clear path on how to implement those routes correctly. You can find this endeavour in the http-api-spec repo GoalsOur short-term goals for js-ipfs is to have complete feature parity with go-ipfs, with the exception of the DHT (now known as Peer Routing and Record Store). What this means is that if this goal is obtained, we will be able to:
This will mark a very significant milestone on the track of the js-ipfs development, enabling other developers to start building apps and services using the JavaScript libraries. Peer Routing and Record Store are the stretch goals, since it would require go-ipfs to learn about IPLD and IPRS. Good foundationsWe've invested a significant portion of time in making tests from the beginning of the development of this project. Tests makes the codebase less brittle and help contributors feel confident that their patches and features don't break any other feature. js-ipfs is divided at the macro level into 'ipfs-core', 'http-api' and 'cli'. It all starts with core: this is where all the functionality that IPFS is composed of is exposed through a standardized interface (WIP). Each feature that gets implemented must be accompanied by tests and these must run in Node.js and the Browser. In addition, each time one of these features manipulates blobs of data that exit the memory of the program (e.g. when they are written to disk), they must be validated and compared to the ones that are produced by go-ipfs, ensuring interoperability and parity (example) Then, the http-api is built, which uses core and exposes its features through a RPC like HTTP API, specified by the http-api-spec. Tests are built by testing the http-api directly and by using the js-ipfs-api, a module that is up do date with go-ipfs implemented http-api. Finally, the CLI should come. This should be tested by running commands while a daemon is both online and offline. Let's look at an example, the
Where can you help
|
LOG - April 5 📖We’re close!™. That is right, we are indeed pretty close to get a workable JavaScript implementation of IPFS that can be ran on the browser. I want to thank first, everyone that has been actively contributing to js-ipfs, with features, tests, documentation and experimentation! This participation is key to get the js-ipfs implementation out the door as soon as possible. UpdateWe are now able to use Web Sockets with SPDY stream muxing, giving us the change to use js-ipfs on the browser and exchange blocks with any IPFS Node that is available through a public IP. Big ^5 to @dignifiedquire who fixed pako, the JavaScript implementation of zlib, the last mile to make this work completely. @ngginever has been leading the charge on the @noffle finished Overall js-ipfs keeps getting more and more complete. @xicombd lead most of the charges on getting the http-api endpoints and cli commands implemented, using the same IPFS core codebase. We’ve updated our ROADMAP to make it even more clear where we are and where he are headed. GoalWe’ve set up a goal of getting Where you can helpThere are a lot of things where everyone can help, I’ve opened a issue for each of them with a task list, some focused on ‘features’, others focused in ‘modules’. Here is the list of issues with what we are looking for to ship before milestone 1:
You will always be able to find in this repo, a collection of issues tagged with |
LOG - April 22 🐳Aye! This is a short captain.log entry to update everyone on the state of things. It is a short entry because we are really close of having What's leftfiles API
libp2p
bitswap
module quality We are mostly done with our module quality improvements (code coverage, readme, etc), down to 5 modules, namely:
@noffle is helping getting these done. If you want to help, jump in into one of those issues as contribute with one of the items that is left, feel also welcome to post questions :) core api |
LOG - May 10 🚤Arr! This is the last mile Captain.log for js-ipfs milestone 1. It contains the list of things that are missing in order to js-ipfs usable! What's leftfiles API
libp2p
bitswap
module quality We are mostly done with our module quality improvements (code coverage, readme, etc), down to 5 modules, namely:
core api
|
LOG - June 14 ⛵Aye mates! This log entry is full of exciting updates, writing it made me really happy. The IPFS community has worked pretty hard and there is a lot to talk about and a lot of people talking and checking IPFS, and that is amazing! What’s new in townWe now have two apps working on js-ipfs, in the browser, completely written in JavaScript! These are:
OrbitDistributed Chat Application using CRDT Code at: https://github.com/haadcode/orbit PaperhubCollaboration tool for distribution of Open Access Scientific material. Code at: https://github.com/ipfs/paperhub Both of these apps use http://celebdil.benet.ai:8080/ipfs/Qmezm7g8mBpWyuPk6D84CNcfLKJwU6mpXuEN5GJZNkX3XK/ Huge thank you and lot’s of <3 <3 <3 to everyone that has been contributing so much to the project. NewsThe IPFS project was present at the Decentralised Web Summit, hosted by the Internet Archive. Expect a lot of blog posts from us soon, meanwhile, you can check the lighting talks at https://archive.org/details/DecentralizedWeb20160609pt1 What’s nextThere is still a lot of fun things to tackle, specially when it comes to interop between go-ipfs and js-ipfs, me and @whyrusleeping have been inspecting the wire protocols and found some differences in the implementations, most of them have been fixed, missing now only the Identify one. You can find the list below of things that are on the plan for this month and where you can provide most help too. go and js interop (@diasdavid)
libp2p Transports + Connection (@diasdavid)
libp2p UX
libp2p Features
Testing
CLI (@RichardLitt)
js-ipfs
Documentation
General bug fixing
Peer endeavours
Stretch goals
|
LOG - August 13
🌬 Release the sails! We've found a (road)mapThe IPFS community has spent some quality time in July together (with in person + remote attendance) at the IPFS Workshop to come up with a plan for what are the new and exciting things coming up to the IPFS ecosystem. From those discussions, a new shiny roadmap emerged with very focused milestones, so that we can complete and make js-ipfs better incrementally, while keeping the focus in a subset of tasks at a time and ensure those are completed excellently. You can find the Full Roadmap at this project repo, however, here is a tl;dr; for your reading pleasure:
🌟 Moar exciting news!
⚡️ Current focusOur current focus is now identified by the Milestone where the team is currently hacking on (Milestone 2). In addition to the ROADMAP.md, we've created a waffle board for the js-ipfs project, so that we (including you) can easily identify easily which issues are related with a certain Milestone. Important to note that this new Project Management Process is still being finalised, you can follow it on the PM repo. 💖 Where you can helpAs always, issues that are tagged with 'help wanted' are open for contribution and that label means that they are unblocked, plus they are typically tagged with a difficulty level (let us know if we missed one). Check our waffle board for a complete list across projects: https://waffle.io/ipfs/js-ipfs If you are new to the project and want to get a better feeling of how are things, an always good way is to join our Monday hangouts. You can find all the details on the PM repo. 📰 Other things that might be of your interest
Thank you!Thank you for reading this entry of the captain.log and a bigger thank you to everyone that has been contributing, either through code, bug fixing, bug reporting, ideas, reviews and so on, you are awesome!!! |
Hi everyone, this is your Captain speaking. I'm aware I haven't shared an update here in a while (mainly due we opened new channels like the waffle board, the roadmap, awesome endeavors and so on), but I didn't want to miss the opportunity to capture your attention to Issue #795 (comment), the 0.23 release. v0.23.0 brings a lot of exciting new things, including interop with go-ipfs which many of you waited (for so long!). Make sure to check it out :) Thank you. |
I'm officially closing this edition of the Captain.log. It was fun times to write this update to you all but overtime it become a too large time sink and with very little impact given that we have now:
See you in the other channels! |
perf: do not list directory contents when statting files
BREAKING CHANGE: Switch to using async/await and async iterators.
Aye mates!
This is your captain speaking, the IPFS Node.js ship as been to set sail and good winds are blowing! Thank you for all the messages and enthusiasm shared so far, we truly appreciate your support and since some of you are eager to get their hands on code and help with the development, I'll keep this issue updated every week with what has been going on and where you can help the most. To make sure you don't miss any updates, click the 'watch' button on the repo.
LOG - Week of 21st of September
Plan:
Where you can help during this week:
crypto
and the WebCrypto API nodejs/node#2833The text was updated successfully, but these errors were encountered: