storacha / project-tracking

🐾 Used as central/default repo for project management, backlog, etc.
0 stars 0 forks source link

Spike: Self-Hosted Web3.Storage #1

Closed hannahhoward closed 6 months ago

hannahhoward commented 7 months ago

Goals

Time box to one week -- attempt to produce an upload node that can persist data and a retrieval node that can talk to each other on a local system

For this round, don't worry about web assembly -- feel free to run docker or whatever you like.

  1. Try to make an upload api node that can be run locally (accept store/ & upload/)
    1. Should persist CAR files to any kind of store
    2. Should write minimum content claims required to lookup content
  2. Try to make a freeway node that can be run locally
    1. Try to connect and read from local node

The goal here is to identify hidden dependencies on cloud services and/or assumptions that make portability difficult.

If this is trivially easy, that's wonderful news. The next move will be to seperate the upload node from the storage device -- and start building code to register storage nodes with the uploader and have it round robin content uploads between them.

reidlw commented 7 months ago

Alan is going to add some additional notes, but this is effectively done.

alanshaw commented 7 months ago

DEMO: https://youtu.be/eJVA97t-jaw?si=CL9BQCaRKZ15UHVb&t=2748

local.storage

local.freeway