Skip to content

Instantly share code, notes, and snippets.

@olizilla
Created December 5, 2023 11:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save olizilla/f92c41e4edb963fed5e56ef894bf74f4 to your computer and use it in GitHub Desktop.
Save olizilla/f92c41e4edb963fed5e56ef894bf74f4 to your computer and use it in GitHub Desktop.
---
title: w3 writes
---
flowchart TD
    w3infra --> |upload/add rootCid,carCid|r2-dudewhere 
    api.web3.storage -->|PUT carCid/carCid.idx|r2-satnav[(R2 satnav \n bucket)]
    api.web3.storage -->|PUT carCid/carCid.car|r2-carpark[(R2 carpark \n bucket)]
    api.web3.storage -->|PUT carCid/carCid.idx|s3-carpark[(S3 carpark \n bucket)]    
    api.web3.storage -->|PUT rootCid/carCid|r2-dudewhere[(R2 dudewhere \n bucket)]    

    w3up-client --> |PUT carCid/carCid.car|s3-carpark

    pickup --> |PUT car|s3-pickup-validation-bucket[(s3 pickup \n validation \n bucket)]
    s3-pickup-validation-bucket --> |COPY carCid/carCid.car|s3-carpark

    indexer-queue --> indexer(Indexer ƛ)
    indexer --> |zQmUNLLsPA...hvA3Nn| multihash-queue[/multihash queue/]
    multihash-queue --> ipni-advertisment-content(ipni advertisment content ƛ)
    ipni-advertisment-content --> |PUT /advertCid|s3-ipni-advert
    ipni-advertisment-content --> |advert CID| ad-queue[/advertisment queue/]
    ad-queue --> ipni-publish(ipni publish ƛ)
    ipni-publish --> |PUT /head|s3-ipni-advert[(S3 IPNI advert \n bucket)]
    ipni-publish --> |POST head|IPNI[["`**IPNI**`"]]
    s3-carpark[(S3 carpark\nbucket)] --> |ObjectCreated fa:fa-car|carpark-consumer(carpark-consumer ƛ)
    carpark-consumer --> |EventBridge newCar|event-bridge[Event Bridge]
    
    event-bridge --> carpark-eipfs-indexer
    event-bridge --> carpark-write-queue[/carpark write queue/]
    event-bridge --> |EventBridge newCar|satnav-write-queue[/satnav write queue/]

    carpark-write-queue --> carpark-write-handler
    carpark-write-handler --> |PUT carCid/carCid.car|r2-carpark
    carpark-eipfs-indexer --> |region/bucket/cid/cid.car| indexer-queue[/indexer queue/]
    indexer ------> |"write \nblockmultihash:zQm...,\noffset:num,\nlength:num,\ncarpath:us-west-2/carpark-prod-0/bagba"|dynamo[Dynamo\nblocks index]
    
    satnav-write-queue --> satnav-write-handler
    satnav-write-handler --> |PUT carCid/carCid.idx|s3-satnav[(S3 satnav\nbucket)]
    s3-satnav --> satnav-replicator-queue[/satnav-replicator-queue/]
    satnav-replicator-queue --> satnav-replicator-handler
    satnav-replicator-handler ---> |PUT carCid/carCid.idx|r2-satnav[(R2 satnav \n bucket)]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment