IPFS Camp 2019 is over! Thank you to everyone that joined us for 3 days of amazing conferencing, we are so proud and joyful for being part of such a wonderful community.
If you missed IPFS Camp or want to revisit its content, everything will remain available in this repo. Soon we will start publishing the videos as well.
You can find the content description, speakers and trainers at:
Title | Trainers | Short Description | Materials | Recording |
---|---|---|---|---|
CORE | ||||
Understanding how the InterPlanetary File System deals with Files | @alanshaw @Stebalien @mikeal | Deep exploration of the reasons behind immutable data, how we address immutable data, the data structures IPFS creates and the different ways of interacting with files in IPFS. | CORE_A | soon⢠|
Solving distributed networking problems with libp2p | @bigs @jacobheun @achingbrain | An interactive deep dive into the capabilities of libp2p | CORE_B | soon⢠|
Developing Apps with IPFS API | @lidel @jimpick @hugomrdias | Local, Remote or Embedded? go-ipfs or js-ipfs? Core API interface in command-line and HTTP contexts | CORE_C | soon⢠|
The lifecycle of data in DWeb. | @olizilla @kishansagathiya @meiqimichelle | Providing (Share), Pinning (Store) and Blocking (Delete) Data | CORE_D | soon⢠|
ELECTIVE | ||||
Identity on the DWeb | @satazor @paulobmarcos @joaosantos15 | Understand the state of decentralized identity on the DWeb and current efforts on creating open and interoperable models to solve self-sovereign identities. | ELECTIVE_A | soon⢠|
Managing pinsets with IPFS Cluster | @hsanjuan @lanzafame @meiqimichelle | A workshop on operating and using IPFS Cluster to orchestrate a common pinset among multiple IPFS nodes | ELECTIVE_B | soon⢠|
TBA (But will have cats with lasers...) | @gorhgorhi | ELECTIVE_C | soon⢠| |
Building DApps with Textile, the iCloud for the DWeb | @balupton @carsonfarmer @andrewxhill | ELECTIVE_D | soon⢠| |
Deploying IPFS Infrastructure | @mburns @obo20 | Take your IPFS game to the next level by learning how to deploy and manage your very own IPFS node in the cloud. | ELECTIVE_E | soon⢠|
Starting, Growing, and Stewarding your IPFS Community | @nukemandan @kk3wong @stefanhans | Let's get Meta! A workshop on effective workshops! And how to foster a community | ELECTIVE_F | soon⢠|
Managing Datasets with QRI | @b5 | An open source tool for versioned, scriptable, exportable, collaborative datasets | ELECTIVE_G | soon⢠|
Making the Browser a True User Agent | @autonome @Gozala @soapdog | Weâll show how browsers act as a value filter on our world, teach some approaches to making the browser truly be an agent that represents you, and break into groups to start building our own true user agents. | ELECTIVE_H | soon⢠|
Will be listed here soonâ˘
Topic | Owner | Description | Recording |
---|---|---|---|
Scaling up the DHT đŚ | What can we do to optimise the performance of our DHT? Are there alternatives? | soon⢠| |
IPID - Master key security and user-experience đŚ | IDM (Identity Manager) aims to support several DIDs methods and IPID was chosen as the first DID method to be integrated. | soon⢠| |
Package Managers: What Now, What Next? đŚ | Community evaluation and ideation session to recap the current (as of late June) state of the IPFS-enabled package manager landscape, discuss happiness and pain points, and do some ideation/co-creation around the direction of our next rounds of package manager efforts. | soon⢠| |
IPFS on Mobile | Increasingly, everyday computing is happening in mobile environments. At the same time, many features of IPFS and related technologies work best on an 'always-connected' network that simply doesn't exist in the mobile world. In this deep dive, we will explore the issues inherent to p2p systems operating in mobile environments, discuss some existing solutions, and hopefully outline a research/development agenda that will help catalyze a wave of new IPFS-based mobile solutions. | soon⢠| |
Private content on IPFS đŚ | Can we have a private group chat implemented on IPFS? | soon⢠| |
Building the IPFS Community | Community, evangelism, engagement, on ramp. | soon⢠| |
IPFS for websites (static, dynamic, search, etc) | What are the best practices and open questions for using IPFS for static / dynamic websites? What about indexing and searching? | ||
Revocation/Rotating of IPNS Keys | The idea of using a public key to identify mutable data is cool, but what happens when that key becomes compromised? | soon⢠| |
How can IPFS support sharding đŚ | How to best pin an arbitrary part of a DAG. | soon⢠| |
Replication protocol đŚ | How can we more quickly sync a DAG or part of a DAG between two nodes? A compliment to bitswap, affectionately overloaded as GraphSync | soon⢠| |
Do not replicate lists - DNR | How to stop your node from replicating content due to take down notices or other reasons | soon⢠| |
Fast IPNS đŚ | How to increase the IPNS resolution speed | soon⢠| |
IPFS Education and Documentation | What are the biggest improvements we can make to documentation for IPFS? | soon⢠| |
Mounting an IPFS filesystem đŚ | Is there a way to efficiently mount IPFS as a filesystem? FUSE support is here. What are current limitations, challenges? What needs to happen to enable mounting of MFS? WebDAV is often used in network storage drives, and mainstream operating systems come with native support for mounting WebDAV as drives. It could supersede Writable Gateway and create a surface for interop with apps that provide built-in client-side support for WebDAV. | soon⢠| |
IPNS link rot | Right now, IPNS needs to be refreshed by original publisher every day, otherwise it stops working. There should be a way to pin IPNS address so that other peers keep refreshing the last valid entry when original node goes offline, keeping the last version alive even if the original publisher disappears forever. | soon⢠| |
Deterministic CIDs! Reproducible File Imports! Verifable HTTP Gateways! | How to deterministically get the same CID for the same data, even if default parameters of ipfs.add change? How to validate data read via HTTP Gateway without running full IPFS node? |
soon⢠| |
IPFS in Web Workers | Where we are, limitations, known problems. | soon⢠| |
UnixFS v2 đŚ | Latest spec iteration and implementation work | soon⢠| |
Using CRDTs to build real-time collaborative DApps | What are the hurdles to using CRDTs in dapps with IPFS? How can we make peer-base easier to understand and use? | soon⢠| |
Better NAT traversal so that Relay servers are a last (not first) resort | The current cost of running relay servers for IPFS is unsustainable. We need to implement better NAT hole punching mechanisms in libp2p to reduce the usage of relay servers by NATâd hosts. TCP hole punching has a success rate of ~60%, so we should be preferentially hole punching. TCP simultaneous open is one example. STUN servers are another example; yet another is making every non-NATed host in a libp2p network a relay node. | soon⢠| |
libp2p message orientation | libp2p is currently stream-oriented. We want to enable message-oriented communication (e.g. UDP). Help us envision what the APIs would look like, and how an application could simultaneously hold stream-based and message-based conversations with peers in the world via libp2p. | soon⢠| |
IPFS metrics and usage statistics đŚ | How to collect telemetry like application metrics and usage in a distributed world | soon⢠| |
Decentralized Data Processing | How could we process large amounts of data in permissionless networks? Use cases, verifiable state transitions, aggregations and bulk updates, etc. | soon⢠| |
Building Dynamic P2P Applications | IPFS and its associated technologies are mostly static. Radicle is an attempt to build a dynamic P2P web on top of IPFS; one which can host applications with the same abilities of the centralized servers of today to receive inputs from various people or sources. | soon⢠| |
Better file chunking đŚ | Within the IPFS stack/ecosystem, just as within computing as a whole, an uncompressed stream of untagged octets is a fundamental unit of exchange. As a general-purpose data storage system IPFS needs to handle an unbounded variety of content represented by such streams. Handling the maximum amount of this variety efficiently ( ideally by default ) would likely have an outsized impact on the future adoption of IPFS as a long-term data interchange medium/format. | soon⢠| |
Dynamic DAG traversal | Extend IPLD to cross between immutable and mutable references | soon⢠| |
Design Patterns for DWeb Apps | Most IPFS apps have UX issues. We will pick a feature of an existing app, and improve its UX by simplifying how to interact with it, how it works. Textile.io lowered the permission and roles system from ~15 methods to 2 this way! | soon⢠| |
IPFS and Guix đŚ | Exploration into existing or potential issues with integrating IPFS with Guix | soon⢠|
Note: topics relevant to package managers have a đŚ suffix.
Presenter | Name & GitHub handle | Topic | Slides | Recording |
---|---|---|---|---|
Justin Maier (@justmaier) and Victor Rortvedt (@twoirtter) | Introducing The Gathering, a web app built with Libp2p to improve in-person networking at conferences and gatherings | soon⢠| ||
Alex Potsides (@achingbrain) | npm on IPFS: Using IPFS to install your JavaScript dependencies đŚ | HTML | soon⢠| |
Shokunin (@leshokunin) | Building a Dropbox replacement on IPFS and Textile | soon⢠| ||
Makoto Inoue (@makoto) | ENS + IPFS: Using ENS as a naming system for IPFS | soon⢠| ||
Benjamin Kampmann (@gnunicorn) | Changing the record: Using substrate to add a custom blockchain to your IPFS dweb app | PDF - Google Slides | soon⢠| |
Andrew Nesbitt (@andrew) | Republishing a project's npm dependencies to IPFS as a micro-registry đŚ | N/A (video talk) | Video | |
Blake Joyce (@bjoyce3) | Who wins in a fight: Superman, HTTPS, or IPFS? | soon⢠| ||
Pierre Neidhardt (@ambrevar) | Package distribution using IPFS on Guix đŚ | soon⢠| ||
Adrian Lanzafame (@lanzafame) | A quick look into the Pinning API proposal | soon⢠| ||
Dmitry Starodubcev (@xhipster) | CYB: Your personal robot on the Great Web | soon⢠| ||
Eric Myhre (@warpfork) | Solving the distributed naming problem (!) in the applied cases of package management đŚ | soon⢠| ||
HÊctor Sanjuån (@hsanjuan) | go-ds-crdt: CRDT KV stores arrive in go-land | HTML | soon⢠| |
Brendan O'Brien (@b5) | Using dsync for point-to-point DAG transfer | soon⢠| ||
Andrew Hill (@andrewxhill) | Content addressing and personal data sovereignty | soon⢠| ||
Kinuko Yasuda (@kinu) and Jim Pick (@jimpick) | Signed exchanges in Chrome | soon⢠| ||
Edgar Lee (@hinshun) | Containerd meets IPFS | soon⢠| ||
Antoine Eddi (@aeddi) | Implementing libp2p over Bluetooth Low Energy | soon⢠| ||
Irakli Gozalishvili (@gozala) | Inter Planetary Data Feed (IPDF) | soon⢠| ||
Gonçalo Pestana (@gpestana) | Privacy in P2P networks: DHTs and IPFS | soon⢠| ||
Victor Grishchenko (@gritzko) | An overview of RON | soon⢠| ||
Rßdiger Klaehn (@rklaehn) | Actyx's experiences on building with IPFS | soon⢠| ||
Jonathan Budd (@cesarosum) | Peergos: E2E encrypted storage and social network on IPFS | soon⢠| ||
AndrÊ Cruz (@satazor) | Introducing Nomios | Website | soon⢠| |
Alexandre Trottier (@postables) | Why open source matters and how individuals can further the movement | soon⢠|
Note: topics relevant to package managers have a đŚ suffix.
Project | Presenter | Description | Interview |
---|---|---|---|
RPi cluster | @hsanjuan, @lanzafame | ipfs-cluster... on Raspberry Pi | soon⢠|
Actyx | @rklaehn | Industrial automation on IPFS | soon⢠|
npm-in-a-box | @achingbrain | what is says on the tin | soon⢠|
The Gathering | @JustMaier | conference networking on decentralized networks | soon⢠|
Textile Photos | @andrewxhill, @carsonfarmer, @balupton | a decentralized photo booth | soon⢠|
Lazer Catbot | @gorhgorh | đź | soon⢠|
FAPRS | @MarneeDear | IPFS over Ham Radio | soon⢠|
Brave | @yrliou, @darkdh, @emerick | native IPFS in Brave browser! | soon⢠|
ENS | @makoto | resolving ENS/IPFS with DNS | soon⢠|
IPFS Spider | @magnshen | crawling the IPFS network | soon⢠|
Cluster Labs Horizon + more | @vasa-develop | viz for the RPi cluster + more | soon⢠|
libp2p-ble-transport | @aeddi | IPFS over other kinds of radio! | soon⢠|
Host | GitHub handle | Topic | Notes/Artifacts |
---|---|---|---|
@vasa-develop | Dappbase: Firebase for Dapps | soon⢠| |
@pepoospina | Underscore Protocol | Notes | |
@caojingbin | Video Website Based on IPNS | soon⢠| |
@mairkur | Medwish: A Decentralized Health Ecosystem | Notes | |
@soapdog | Secure Scuttlebutt | soon⢠| |
@janjanovna | Unified User Interface for the New Web | soon⢠| |
@steven004 | ForcePlatform: A New Layer to Bridge IPFS and HTTP Apps and Users | Notes | |
@xavivives | Knowledge Graphs | Notes | |
@gnunicorn | Blockchain & IPFS, yay?!? | Notes | |
@shishkabab, @worldbrain | Don't Get Punished for Early Architecture Decisions | soon⢠| |
@jbenet | Structuring IPFS Research | soon⢠| |
@gpestana | P3LIB: Privacy-Preserving Primitives for libp2p | soon⢠| |
@ambrevar | Next Browser | soon⢠| |
@solangegueiros | Index and Search in Web3 | Notes | |
@adria0 | Zk-Snarks & IDEN3 Circom Compiler | soon⢠| |
@nukemandan | Resource-Sharing Incentives Without Cryptocurrency | soon⢠| |
@jkarni | The Radicle Stack | soon⢠| |
@prtfw | Federated Learning on the Chain/IPFS | soon⢠| |
@codynhat | Retiring Web 2.0 | Notes |
We will be listing the interviews done throughout camp as we publish them.
The quiet room was a place for resting, reflecting, and taking space from the excitement of camp. Let your brain cool after a full day of learning. Learn more about it at đ Quiet Room.
Meet us at:
- IPFS Weekly Call
- #ipfs@freenode using any IRC client or through the Matrix bridge
For đ¸ Photos, join our Textile feed with this invite url
You can upload photos, videos, documents, etc. at our public Peergos folder.
You can edit an _Prtcl-powered shared notepad for the IPFS Camp. Just make sure you have a web3 provider (like Metamask) connected to the Rinkeby Testnet and head to The Notepad.
The schedule for the event can be found at https://camp.ipfs.io/schedule
Chat #ipfs-camp@freenode using any IRC client or through the Matrix bridge