kubo/client/rpc
Marcin Rataj 6a008fc74c
refactor: apply go fix modernizers from Go 1.26 (#11190)
* chore: apply go fix modernizers from Go 1.26

automated refactoring: interface{} to any, slices.Contains,
and other idiomatic updates.

* feat(ci): add `go fix` check to Go analysis workflow

ensures Go 1.26 modernizers are applied, fails CI if `go fix ./...`
produces any changes (similar to existing `go fmt` enforcement)
2026-02-11 01:01:32 +01:00
..
auth feat(rpc): Opt-in HTTP RPC API Authorization (#10218) 2023-11-17 01:29:29 +01:00
api_test.go refactor(config): migration 17-to-18 to unify Provider/Reprovider into Provide.DHT (#10951) 2025-09-18 22:17:43 +02:00
api.go chore: stop using go-homedir (#10568) 2024-11-05 07:45:11 -08:00
apifile.go feat: Support storing UnixFS 1.5 Mode and ModTime (#10478) 2024-08-21 02:02:46 +02:00
block.go chore: clean migration 2023-11-29 12:29:59 +01:00
dag.go chore: clean migration 2023-11-29 12:29:59 +01:00
errors_test.go client/rpc: rename package name to match rpc and edit migration story 2023-05-31 15:40:00 +02:00
errors.go chore: fix some typos (#10396) 2024-06-03 17:17:58 +02:00
key.go feat(key): add 'ipfs key ls' as alias for 'ipfs key list' (#11147) 2026-01-30 19:39:26 +01:00
name.go chore: clean migration 2023-11-29 12:29:59 +01:00
object.go core/commands!: remove deprecated object APIs (#10375) 2024-03-22 09:32:30 +01:00
path.go chore: update boxo for structification of ImmutablePath 2023-10-09 09:44:39 +02:00
pin.go fix: ipfs pin ls <cid> --names (#10970) 2025-09-19 03:17:45 +02:00
pubsub.go chore: clean migration 2023-11-29 12:29:59 +01:00
README.md docs: replace outdated package paths described in rpc README (#10505) 2024-09-05 23:20:08 +02:00
request.go client/rpc: rename package name to match rpc and edit migration story 2023-05-31 15:40:00 +02:00
requestbuilder.go refactor: apply go fix modernizers from Go 1.26 (#11190) 2026-02-11 01:01:32 +01:00
response.go refactor: apply go fix modernizers from Go 1.26 (#11190) 2026-02-11 01:01:32 +01:00
routing.go core: deprecate CoreAPI.Dht, introduce CoreAPI.Routing 2024-02-07 10:47:30 +01:00
swarm.go chore: clean migration 2023-11-29 12:29:59 +01:00
unixfs.go refactor(cmds): do not return errors embedded in result type (#10527) 2024-12-03 20:15:33 +01:00

coreiface.CoreAPI over http rpc

IPFS CoreAPI implementation using HTTP API

This package implements coreiface.CoreAPI over the HTTP API.

Documentation

https://pkg.go.dev/github.com/ipfs/kubo/client/rpc

Example

Pin file on your local IPFS node based on its CID:

package main

import (
	"context"
	"fmt"

	"github.com/ipfs/boxo/path"
	"github.com/ipfs/go-cid"
	"github.com/ipfs/kubo/client/rpc"
)

func main() {
	// "Connect" to local node
	node, err := rpc.NewLocalApi()
	if err != nil {
		fmt.Println(err)
		return
	}
	// Pin a given file by its CID
	ctx := context.Background()
	c, err := cid.Decode("bafkreidtuosuw37f5xmn65b3ksdiikajy7pwjjslzj2lxxz2vc4wdy3zku")
	if err != nil {
		fmt.Println(err)
		return
	}
	p := path.FromCid(c)
	err = node.Pin().Add(ctx, p)
	if err != nil {
		fmt.Println(err)
		return
	}
}