IPFS is a , by and , aiming to make the web faster, safer, and more open. In these posts, we highlight some of the development that has happened in the past week. For anyone looking to get involved, follow the embedded hyperlinks, search the wealth of information on GitHub or join us on IRC (# on the Freenode network).
If you would like to get this update as an email, sign up for our weekly newsletter!
Here are some of the highlights for the January 25th sprint:
- js-ipfs: @diasdavid and @vijayee created js-ipfs-merkle-dag and js-ipfs-blocks, which will help deal with MerkleDAGs and are extensible enough to allow others to build their own MerkleDAG structures. Also, js-ipfs is now able to import a file into the MerkleDAG, an important milestone. An architecture graph has been spec’ed out here to help newcomers understand how js-ipfs works. Finally, lots of new issues and low-hanging fruit have been tagged for contributors to tackle. idb-plus-blob-store: The substack/idb-blob-store had issues regarding emitting the
finishevent on the
createWritableStreamresult due to internal issues in streams and the way
.endis handled. So @dignifiedquire wrote this module that fixes this and now allows us to test all parts of js-ipfs in the browser using IndexedDB as the storage.
- go-ipfs: Thanks to @Kubuxu, dnslink was extended by dedicated subdomain (
_dnslink.). This allows users to alias (using CNAME) their domain to gateway.ipfs.io while still being able to to set the dnslink to content they wish. Also, @whyrusleeping has an open PR to pull libp2p out of go-ipfs and put it into a module on gx, the IPFS native package manager. This is part of a larger effort to whittle go-ipfs down into smaller, extensible modules. Finally, @whyrusleeping did a clean up of the go-ipfs pull requests, closing all pull requests or pinging their authors for updates as needed.
- notes: @noffle began a discussion about revamping the
ipfs mountinterface. Join in to voice your thoughts here.
- community: @diasdavid has written a guide to writing captain.logs, which are short gists written by maintainers about IPFS projects, their status, and how to help. We plan to have more of these in different projects.
- Lisbon: @diasdavid hosted a Lisbon IPFS Sunday Hack Day this week. A few people came, and @xicombd made this Chrome Extension, which lets you access IPFS urls from your local IPFS daemon (source code).
- Coffee Talks: @whyrusleeping has hosted another “Coffee Talk”, this time on gx, the IPFS package manager.
- NYC Meet-up: A NYC meet-up is planned for the end of February. Help us plan it and show your interest here.
- Desert Blockchain: IPFS was presented at the last Desert Blockchain miniconference.
- There was an unfortunate GitHub outage and many people started using IPFS to move around their repos, with @whyrusleeping’s simple git-ipfs-rehost (view on IPFS) and @cryptix’s excellent git-remote-ipfs (view on IPFS).
- @pipermerriam created ipfs-persistence-consortium to create networks of IPFS nodes which persist each other’s content. This is similar to @victorbjelkholm’s pincoop. Perhaps there can be some cooperation in these efforts? 😎
- The FullNode Project – which includes IPFS, Tor, Bitcoin, OpenVPN and more – is having a crowdfund – go get one! Thanks for making it @MrChrisJ!
- It was Ralph Merkle’s birthday on February 2nd! He is the creator of the Merkle tree, which are a crucial part of how IPFS works. Happy Birthday, Ralph! 🎂
- Our friends at Mine are using IPFS for the excellent Mediachain metadata protocol (protocol proposal here), a protocol to track media creation, attribution, and more. They have published several great articles about it. This week @denisnazarov wrote about The GIF That Fell To Earth, and @parkan gave a Developer Update that discusses pHash, IPLD, and more.
- @lexansoft created a new Ethereum name registrar called EtherID (repo here), which uses IPFS for storing users’ content. Then @btsfav wrote an article about Personal Websites on EtherID with IPFS.
Across the entire IPFS GitHub organization, the following people have committed code, created issues, or made a comment on GitHub between January 25th (noon, GMT) and February 1st. We’re autogenerating this list using this tool, so please let us know if your name isn’t here.
- @alexAubin (Alexandre Aubin)
- @andreiamatuni (Andrei Amatuni)
- @AtnNn (Etienne Laurin)
- @bdunlay (Brian Dunlay)
- @BigBlueHat (BigBlueHat)
- @chriscool (Christian Couder)
- @ConsciousCode (Conscious Code)
- @cryptix (Henry)
- @davidar (David A Roberts)
- @diasdavid (David Dias)
- @dignifiedquire (Friedel Ziegelmayer)
- @dysbulic (Will Holcomb)
- @eminence (Andrew Chin)
- @fazo96 (Enrico Fasoli)
- @greenkeeperio-bot (Greenkeeper)
- @harlantwood (Harlan T Wood)
- @IanCal (Ian Calvert)
- @ion1 (Johan Kiviniemi)
- @jbenet (Juan Benet)
- @jedahan (Jonathan Dahan)
- @Kubuxu (Jakub Sztandera)
- @lgierth (Lars Gierth)
- @lidel (Marcin Rataj)
- @Luzifer (Knut Ahlers)
- @MartinThoma (Martin Thoma)
- @MichaelMure (Michael Muré)
- @mildred (Mildred Ki’Lya)
- @mortonfox (Morton Fox)
- @MrChrisJ (Chris Ellis)
- @NDuma (NDuma)
- @NeoTeo (Teo Sartori)
- @noffle (Stephen Whitmore)
- @palesz (Palesz)
- @Patagonicus (Philipp Adolf)
- @ralphbean (Ralph Bean)
- @RichardLitt (Richard Littauer)
- @Shaaah (Shaaah)
- @sivachandran (Sivachandran)
- @thelinuxkid (Andres Buritica)
- @tilgovi (Randall Leeds)
- @tommg (Thomas Gardner)
- @VertigoRay (Raymond Piller)
- @w33tmaricich (Alexander Maricich)
- @whyrusleeping (Jeromy Johnson)
- @willeponken (William Wennerström)
- @willglynn (Will Glynn)
- @xicombd (Francisco Baio Dias)
Thanks, and see you next week! If you have cool things to share for the next next weekly sprint issue!, drop us a line in the
- Richard Littauer and Andrew Chin