Site Navigation

Edit on GitHub


Blog - Peter Kaminski, 2025-09-03

Published to IPFS!

First publication of SnapStack docs to IPFS!

CID: QmPWweP44kueHdDzJyEd6KTv6rqj2rrgHWSJNAjNsyFJey

The docs are pre-release and really rough, but I wanted to share them with Bill Anderson, and of course, IPFS is the way to go.

ipfs add: no dotfiles?

I'm using Obsidian to maintain this repository, so I wanted to ignore the .obsidian directory. I used the --ignore-rules-path flag and set it up to read .gitignore, but ipfs add also didn't add .gitignore or the .snapstack directory I set up (with a helper script for adding). So, it appears to ignore all dotfiles.

Pinning

As soon as the docs were up, my thoughts turned to pinning. As of 2025-09-03, the services I found:

At some point, we might want to run a community IPFS node for pinning.

The services that didn't resonate:

I ended up pinning through Pinata's API. ChatGPT gave me v1 API commands (v3 is apparently the latest):

Pin by CID

curl --request POST \
  --url https://api.pinata.cloud/pinning/pinByHash \
  --header 'Authorization: Bearer <your_pinata_jwt>' \
  --header 'Content-Type: application/json' \
  --data '{
    "hashToPin": "QmYourCID"
  }'

To get your JWT, sign into Pinata, then click on API Keys in the left nav.

Check job status

curl -s --request GET \
  --url "https://api.pinata.cloud/pinning/pinJobs?ipfs_pin_hash=QmPWweP44kueHdDzJyEd6KTv6rqj2rrgHWSJNAjNsyFJey" \
  --header "Authorization: Bearer <YOUR_JWT>"

Pin by CID, provide host nodes (if status is "searching" for a long time)

# get your node’s multiaddrs
ipfs id | jq .Addresses

# re-submit with hostNodes
curl --request POST \
  --url https://api.pinata.cloud/pinning/pinByHash \
  --header "Authorization: Bearer <YOUR_JWT>" \
  --header "Content-Type: application/json" \
  --data '{
    "hashToPin": "QmPWweP44kueHdDzJyEd6KTv6rqj2rrgHWSJNAjNsyFJey",
    "pinataOptions": {
      "hostNodes": ["/ip4/…/tcp/4001/p2p/…", "/dns4/…/tcp/443/wss/p2p/…"]
    }
  }'

I got back {"count":0,"rows":[]} from pinJobs when it completed. The repository showed up in my Pinata dashboard.


Pages that link to this page