# A Call for IPFS Implementations! <!-- Put the link to this slide here so people can follow --> slides: https://hackmd.io/@adin/moar-ipfs --- ## Me - :heart: IPFS - been at it ~3.5 years - a go-ipfs maintainer --- ## go-ipfs - Earliest implementation of IPFS - Most used implementation of IPFS - Not == IPFS --- ## X != IPFS - go-ipfs - ipfs.io - Bitswap + IPFS Public DHT --- ## So what is IPFS? - I'm not telling :upside_down_face: - content addressing - BitTorrent clients can use infohash => IPFS implementation? - If not, what's missing? f017b1114? --- ## Existing IPFS Implementations Some collected IPFS implementations (15) - https://www.notion.so/IPFS-implementations-a1e52ad7734d4a268c475b95440805c5 - Including js-ipfs, Elastic Provider, Boost, Agregore, ipfs-tiny, ... --- ## What's wrong with having one primary IPFS implementation? - Different use cases, putting them all in one binary hurts all use cases - Too wide an interface - Maintainers not perfect - There are many HTTP clients/servers - Also many BitTorrent clients --- ## Moar IPFS Implementations! - Don't just think small - Different language, database, API, ... - Think big! - Different protocols - Different networks - Different ways to bridge networks --- ## Example ๐Ÿ›  - Elastic IPFS Major goal is to serve data to other IPFS nodes in a way that's easy to scale in commercial cloud infrastructure. --- ## Idea ๐Ÿ’ก - IPFS + BitTorrent Server IPLD means BitTorrent data can be treated the same as DAG-CBOR, Git, etc. Have an application that serves BitTorrent files to both that network and also advertises to the IPFS Public DHT + serves the data over Bitswap. --- ## Idea ๐Ÿ’ก - IPFS + BitTorrent Client Leverage BitTorrent infohashes as CIDs and build a client that can fetch data from either the BitTorrent network or from the IPFS Public DHT + Bitswap. --- ## Idea ๐Ÿ’ก - IPFS Client with many systems supported IPFS client with support for a variety of decentralized storage systems. Add resiliency by letting people use `ipfs://` instead of `my-system://`. As long as its content addressed it should be able to come from any system. --- ## Experiment ๐Ÿงช - New protocols Instead of just advocating for "use X", show how it'll work and why. - data transfer protocols - content routing systems - authentication mechanisms - mutability systems - ... --- ## No perfection implementations - Many excellent proposals for new implementations - Might be great architecture, maybe not - Experiment! - WASM != 42, true of almost anything --- ## :eyes: Things to watch for - Build what works for you! - But make it clear what it does - Help people figure out how implementations fit together --- ## Summary - We need more implementations - We need more experimentation - Join the party :tada: - IPFS Implementers Sync! - https://github.com/ipfs/community#community-calendar - Next one is Thursday May 26th, 2pm ET --- ### Say Hi :wave: - @aschmahmann - GitHub, Matrix, Discord, Slack, etc. --- ### Thank you :pray: and Questions :question:
{"metaMigratedAt":"2023-06-17T01:17:00.161Z","metaMigratedFrom":"YAML","title":"A Call for IPFS Implementations","breaks":true,"description":"Let's have more IPFS implementations!","contributors":"[{\"id\":\"6c027841-8e73-4a4d-8ec7-e99a5271fad7\",\"add\":6122,\"del\":2910}]"}
    523 views