# 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}]"}