package main import ( "encoding/hex" "fmt" commcid "github.com/filecoin-project/go-fil-commcid" "github.com/urfave/cli/v2" ) var commpToCidCmd = &cli.Command{ Name: "commp-to-cid", Description: "Convert a raw commP to a piece-Cid", Action: func(cctx *cli.Context) error { if !cctx.Args().Present() { return fmt.Errorf("must specify commP to convert") } dec, err := hex.DecodeString(cctx.Args().First()) if err != nil { return fmt.Errorf("failed to decode input as hex string: %w", err) } fmt.Println(commcid.PieceCommitmentV1ToCID(dec)) return nil }, }