# Learn to use IPFS with Go

**URL:** <https://discuss.ipfs.tech/t/learn-to-use-ipfs-with-go/5010>\
**Category:** Help\
**Tags:** go-ipfs\
**Created:** [March 12, 2019, 9:53am UTC](https://discuss.ipfs.tech/t/learn-to-use-ipfs-with-go/5010 "2019-03-12T09:53:26Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![stefanhans65](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ipfs.tech/stefanhans65/32/1466_2.png) [@stefanhans65](https://discuss.ipfs.tech/u/stefanhans65)\
**Post date:** [March 12, 2019, 9:53am UTC](https://discuss.ipfs.tech/t/learn-to-use-ipfs-with-go/5010/1 "2019-03-12T09:53:26Z")

</div>

Hi there,

I’ve played around a bit with IPFS using Go, and I’m asking for advice finding the right way.

First of all, I’m not afraid of a deep dive and willing to contribute.

Here the possibilities I see at the moment:

- [go-ipfs-api](https://github.com/ipfs/go-ipfs-api)
- go-ipfs/core/coreapi
- [interface-go-ipfs-core](https://github.com/ipfs/interface-go-ipfs-core)
- [go-ipfs-cmds](https://github.com/ipfs/go-ipfs-cmds)
- [go-ipfs-cmdkit](https://github.com/ipfs/go-ipfs-cmdkit)

**go-ipfs-api** : “An unofficial go interface to ipfs’s HTTP API” - of course, unofficial let me hesitate, and I see two ways using it one by Shell and one by RequestBuilder. The not existing “shell” directory mentioned in the go-ipfs/doc.go sounds it is originated in go-ipfs/shell.

**go-ipfs/core/coreapi / interface-go-ipfs-core** : The not directly working import path links in [https://docs.ipfs.io/go/pkg/go-ipfs/core/coreapi/](https://docs.ipfs.io/go/pkg/go-ipfs/core/coreapi/) and [https://docs.ipfs.io/go/pkg/go-ipfs/core/coreapi/interface/](https://docs.ipfs.io/go/pkg/go-ipfs/core/coreapi/interface/) let me search and find [https://github.com/ipfs/interface-go-ipfs-core](https://github.com/ipfs/interface-go-ipfs-core) and [https://godoc.org/github.com/ipfs/interface-go-ipfs-core](https://godoc.org/github.com/ipfs/interface-go-ipfs-core). Later I’ve found it [https://github.com/ipfs/go-ipfs/tree/master/core/coreapi](https://github.com/ipfs/go-ipfs/tree/master/core/coreapi) 😄

**go-ipfs-cmds / go-ipfs-cmdkit** : Not yet played with.

Please, could anyone give me some internals about it? Some historical background? Some information about planned future use?

Cheers, Stefan
