前提条件:安装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行代码注释即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)