"未找到命令"当尝试将文件发送到IPFS时

时间:2017-08-09 08:07:17

标签: go ipfs

我想在我的项目中使用IPFS,然后,我正在研究Go IPFS API。 然后,我写了这个非常简单的代码:

package main

import (
    "fmt"
    "bytes"
    sh "github.com/ipfs/go-ipfs-api"
)

func main() {
    shell := sh.NewShell("https://ipfs.io")

    bufferExample := bytes.NewBufferString("Hello IPFS Shell tests")
    mhash, err := shell.AddNoPin(bufferExample)

    if err != nil {
        panic(err) // ends where
    }

    fmt.Println(mhash)
}

但我收到错误panic: add: command not found,我不明白为什么。我的计算机中已经有IPFS(例如,我可以运行deamon)。我还安装了具有开发依赖性的Go IPFS库。

如何解决?

2 个答案:

答案 0 :(得分:2)

错误与各种路径无关。该程序正在运行并且令人恐慌,因为您在出现错误时已经提出要求:

mhash, err := shell.AddNoPin(bufferExample)
if err != nil {
    panic(err) // ends where
}

错误add: command not found是系统无法找到add命令的结果(错误是http 404)。

您是否在系统上安装了IPFS命令?如果没有,请尝试这样做。

答案 1 :(得分:2)

用户Magik6k在another forum中回答了我的问题:

  

您无法使用公共IPFS网关添加内容。为此你   需要本地运行守护进程并将其传递给NewShell   (localhost:默认为5001)。

     

公共网关(ipfs.io,localhost:8080)仅支持有限的API   子集,见   https://github.com/ipfs/go-ipfs/blob/master/core/commands/root.go#L1412   可用的是什么