Working with Go IPFS
go-ipfs is the primary reference implementation of IPFS. It is a command-line application, but can also be used as a library in other Go programs.
For more about using go-ipfs, see any of the following reference documents:
For more technical information about building, debugging or using the API, see:
- Performance Debugging Guidelines
- IPFS API Implementation
- Connecting with Websockets
- Building on…
- Additional guides at: https://github.com/ipfs/go-ipfs/blob/master/docs/
If you plan to use go-ipfs as a package in your own Go application, you can take any of three main approaches:
- Use
go-ipfsto run IPFS directly in your own process. See the CoreAPI constructor. - Use
go-ipfs-htp-clientto communicate with an IPFS daemon in a separate process via its HTTP API (this is whatgo-ipfsdoes if a daemon is already running). See the http client. - Use other Go packages to communicate with the HTTP API directly. See the HTTP API reference.