我是靠谱客的博主 舒服小猫咪,最近开发中收集的这篇文章主要介绍go-ipfs-api的使用教程,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前提条件:安装go-ipfs,安装链接

1.golang版本:1.13.4

文件夹目录:

GOPATH/src/github.com/ipfs/demo

在demo文件夹下创建main.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)
}

然后,设置GOPATH,编译运行main.go.

在其他终端打开ipfs系统
ipfs daemon

export GOPATH=XX/src
go run main

2.如果golang的版本是1.13.0以下,比如:1.10.3,则可以通过以下方法去运行。

首先,将golang的版本设置为1.13.0以上,然后,进行下面的操作。

文件夹目录:

GOPATH/src/github.com/ipfs/demo

在demo文件夹下创建main.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)
}

然后,设置GOPATH,编译运行main.go.

在其他终端打开ipfs系统
ipfs daemon

export GOPATH=XX/src
生成go.mod文件:

go mod init 项目名称

main.go文件所在的文件夹下(生成go.sum文件):

go build

go mod download

依赖包会自动下载到$GOPATH/pkg/mod,多个项目可以共享缓存的mod
下载的包在$GOPATH/pkg/mod

go mod vendor
从mod中拷贝到项目的vendor目录下,这样IDE就可以识别了!

再将golang的版本改为1.10.3,然后,进行项目的运行

go run main.go

编译运行后会出现下面的错误:

vendor/github.com/ipfs/go-ipfs-api/shell.go:101:17: tpt.Clone undefined (type *http.Transport has no field or method Clone)

解决办法:

vendor/github.com/ipfs/go-ipfs-api/shell.go中的第101行代码注释即可。

最后

以上就是舒服小猫咪为你收集整理的go-ipfs-api的使用教程的全部内容,希望文章能够帮你解决go-ipfs-api的使用教程所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部