如何使用 go-ipfs-api 获取对等点列表?

how to get peers list using go-ipfs-api?

我是 ipfs 的新手,正在尝试使用 go-ipfs-api 获取 ipfs 信息。以下是我的代码:

package main

import (
         "fmt"
         "context"
         "os"
         "net/http"
         "github.com/prometheus/client_golang/prometheus"
         "github.com/prometheus/client_golang/prometheus/promhttp"
         "github.com/ipfs/go-ipfs-api"
)
 
 var sh *shell.Shell
 
 func main() {
         sh := shell.NewShell("localhost:5001")
         cid, err := sh.SwarmPeers()
         if err != nil {
                 fmt.Fprintf(os.Stderr, "error: %s", err)
                 os.Exit(1)
         }
         fmt.Printf("added %s", cid)
 }

这个sh.SwarmPeers需要一些上下文作为参数。我没有得到我需要传递什么参数来获取对等列表。另外,我应该使用哪些 API 函数来获取 ipfs 上存在的文件总数和文件总大小?请帮忙。如果有任何教程,请分享。它将帮助我理解使用其他功能。任何帮助将不胜感激。

上下文是一个 Golang context,它有助于跟踪诸如截止日期或操作取消之类的事情。在这种情况下,因为您正在对本地 IPFS 守护程序进行 HTTP 调用,所以您可能想要取消该功能,因为它花费的时间太长,或者您的应用程序不再关心并且上下文允许您处理该用例。

您可以通过 context.Background() 获得背景上下文(即永远存在并且永远不会被取消)。如果您想为其设置超时,您可以将该背景上下文传递给 context.WithTimeout。查看有关上下文的 Golang 文档以获取更多信息。