

IPFS-Liteを使って、アプリケーションを作成しようと思っています。  
goをインストールして、下記のコマンドを実行しました。  
go mod init example.com/ipfs-lite  
go get github.com/hsanjuan/ipfs-lite  
その後、IPFS-Liteを用いて、ローカルノードにファイルを追加して、CIDを出力する下記のようなコードを書いたところエラーが表示されました。

[code]

    import (
        "bytes"
        "context"
        "fmt"
        "io/ioutil"
    
        ipfslite "github.com/hsanjuan/ipfs-lite"
    )
    
    func main() {
        // IPFS-Liteノードを作成する
        node, err := ipfslite.New(context.Background(), nil)
        if err != nil {
            panic(err)
        }
    
        // ファイルを読み込む
        data, err := ioutil.ReadFile("test.txt")
        if err != nil {
            panic(err)
        }
    
        // ファイルを追加する
        c, err := node.Add(bytes.NewReader(data))
        if err != nil {
            panic(err)
        }
    
        // CIDを出力する
        fmt.Printf("Added file with CID: %s\n", c.String())
    }
    
[/code]

エラーの内容は下記です。

[code]

    # command-line-arguments
    ./main.go:14:50: not enough arguments in call to ipfslite.New
            have (context.Context, nil)
            want (context.Context, datastore.Batching, blockstore.Blockstore, host.Host, "github.com/libp2p/go-libp2p/core/routing".Routing, *ipfslite.Config)
    ./main.go:26:12: assignment mismatch: 2 variables but node.Add returns 1 value
    ./main.go:26:21: not enough arguments in call to node.Add
            have (*bytes.Reader)
            want (context.Context, "github.com/ipfs/go-ipld-format".Node)
    
[/code]

どのようにしたらうまくいくか分からず質問させていただきました。


CC BY-SA 4.0
2023-04-11T07:41:40.890
94485
2023-04-11T07:41:40.890
57884
question
go ipfs
IPFS-Liteを使ってアプリケーションの作成