我通过go-ifps-api
连接到IPFS,如下例所示:
import api "github.com/ipfs/go-ipfs-api"
shell := api.NewShell("localhost:5001")
cid, err := shell.Add(bytes.NewBufferString("Hello world"))
...
err = shell.Get(cid, "hello.txt")
...
但是,如果有人下载了这样的程序,则他们必须安装go-ipfs
并拥有5001端口免费。我知道端口可以很灵活,但这又是一件麻烦事。我希望用户透明地连接到IPFS,而无需设置API服务,因此IPFS节点是从Go应用程序内部启动和停止的。
是否可以,如果可以,您可以举个例子吗?
最佳答案
是的,您可以将go-ipfs用作库。这里有一些示例https://github.com/ipfs/go-ipfs/tree/90a573354af23e361da87a29f7bafc459967c070/docs/examples。基本上,您需要导入go-ipfs
(及其一些子包)而不是go-ipfs-api
。
关于api - 我可以直接在Go程序中使用go-ipfs吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/66148584/