---
# System prepended metadata

title: IPFS-client sync

---

# IPFS-client sync

Links:
- [Libipfsclient c library - design/braindump](https://hackmd.io/DhsiQCV7RCKS95skOi94OQ)
- [IPFS Client API braindump](https://hackmd.io/-D9W6kW1Sd6aAXDexYtTnQ)
- [IPFS Client-native Connectivity](https://hackmd.io/rxFtUuTdRTO4-nyAxPHNqQ)
- [ipfs-client js repo WIP](https://github.com/meandavejustice/ipfs-client)

## 9/8/2022

Topics:
- what does wrapping the http response into file api-like object look like?
- What gateways are we setting for our default?
```
const DEFAULT_GATEWAY_LIST = [
  { host: 'dweb.link', healthy: true, remote: true },
  { host: 'cf-ipfs.com', healthy: true, remote: true }
];
```
- Let's document the criteria for a gateway to be included here
    - supports subdomains
    - supports dnslink
- Links to discussion of a 2.0, discoverable gateways, content verification etc...
- Do we have a link to libipfsclient c library repo?


Action Items:
- dave:
    - what is the security issue with subdomains? cUrl does not want it, because of untrusted redirects.
    - try out ipfs-cat to pipe buffer to another program

- mark: 
    - compare node fs and c functions.


API:
`transform / share ?`: do we want to expose this? A function that will take `ipfs://cid etc` to `https://gateway/ipfs/cid`
`open`: Looks up the cid on IPFS network,
https://nodejs.org/api/fs.html#class-filehandle

`read`: return buffer, gateway url

`seek`: in nodejs this may look like [fs.readv](https://nodejs.org/api/fs.html#fsreadvfd-buffers-position-callback)


### Further ideas:
- `ipfs-cat`: cli tool, accepts cid, outputs buffer that can be piped to another program
