Open mitra42 opened 5 years ago
IPFS (from Protocol Labs) - integrates fully with the chunk write and read API's.
Lists and Key-Values are not implemented on IPFS, but are available over YJS which uses IPFS as its transport.
Problems: to be elaborated on, but are mostly due to:
Important Notes: Due to the combination of the lack of error returns and data loss, dweb.archive.org uses chunks, rather than streams for icons and prioritises WebTorrent over IPFS streams when both are available.
Due to the WSS and DHT single points of failure, we aren't currently considering IPFS for any anti-censorship applications.
WEBTORRENT from Feross - integrates for streaming and chunking reads
Webtorrent is integrated for streaming files. We haven't yet implemented any writing mechanism. It does a nice fallback to HTTP if the file isnt available in WebTorrent. The majority of the Archive's files are available via Torrent and magnet links are included by default in metadata requested via the dweb.me gateway.
Issues: There is a single point of failure issue in that clients use a small number of known trackers, and can't use the BitTorrent DHT (due I believe to limitations in webRtc).
WebTorrent is our prefered
GUN - to be written
YJS - works, but not actively supported - implements KeyValue and Lists - details to be written
HTTP
An HTTP version of all the APIs (chunk, list, keyvalue) has been integrated and is used as a backup and fallback.
Limitations:
Wolk is working on an integration -- implementing chunk reads and writes as well as key-value solution
The following systems are integrated currently, updates are welcome.