66 lines
2.3 KiB
Markdown
66 lines
2.3 KiB
Markdown
# go-ipfs-api
|
|
|
|
[](http://ipn.io)
|
|
[](http://ipfs.io/)
|
|
[](http://webchat.freenode.net/?channels=%23ipfs)
|
|
[](https://github.com/RichardLitt/standard-readme)
|
|
[](https://godoc.org/github.com/ipfs/go-ipfs-api)
|
|
[](https://travis-ci.org/ipfs/go-ipfs-api)
|
|
|
|

|
|
|
|
> The go interface to ipfs's HTTP API
|
|
|
|
## Install
|
|
|
|
```sh
|
|
go get -u github.com/ipfs/go-ipfs-api
|
|
```
|
|
|
|
This will download the source into `$GOPATH/src/github.com/ipfs/go-ipfs-api`.
|
|
|
|
## Usage
|
|
|
|
See [the godocs](https://godoc.org/github.com/ipfs/go-ipfs-api) for details on available methods. This should match the specs at [ipfs/specs](https://github.com/ipfs/specs/tree/master/public-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.
|
|
|
|
### Example
|
|
|
|
Add a file with the contents "hello world!":
|
|
|
|
```go
|
|
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
|
|
|
|
## Contribute
|
|
|
|
Contributions are welcome! Please check out the [issues](https://github.com/ipfs/go-ipfs-api/issues).
|
|
|
|
### Want to hack on IPFS?
|
|
|
|
[](https://github.com/ipfs/community/blob/master/CONTRIBUTING.md)
|
|
|
|
## License
|
|
|
|
MIT
|