# 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