Please use kubo/client/rpc instead. In rare case the new library does not offer a feature this one does, fill issue in Kubo, or better, submit a PR that adds it to kubo/client/rpc.
For more details about the decision, see ipfs/kubo#9124.
The go interface to ipfs's HTTP API
go install github.com/ipfs/go-ipfs-api@latestThis will download the source into $GOPATH/src/github.com/ipfs/go-ipfs-api.
See the godocs for details on available methods. This should match the specs at ipfs/specs (Core API); however, there are still some methods which are not accounted for. If you would like to add any of them, see the contribute section below. See also the HTTP API.
Add a file with the contents "hello world!":
package main import ( "fmt" "strings" "os" shell "github.com/ipfs/go-ipfs-api" ) func main() { // Where your local node is running on localhost:5001 sh := shell.NewShell("localhost:5001") cid, err := sh.Add(strings.NewReader("hello world!")) if err != nil { fmt.Fprintf(os.Stderr, "error: %s", err) os.Exit(1) } fmt.Printf("added %s", cid) }For a more complete example, please see: https://github.com/ipfs/go-ipfs-api/blob/master/tests/main.go
Contributions are welcome! Please check out the issues.
MIT
