From 7e9a23df22f516d150064d7aa2a3c22293937f98 Mon Sep 17 00:00:00 2001 From: Kevin Atkinson Date: Thu, 5 Jan 2017 22:20:38 -0500 Subject: [PATCH] Add simple utility to convert from one base to another. --- multibase-conv/main.go | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 multibase-conv/main.go diff --git a/multibase-conv/main.go b/multibase-conv/main.go new file mode 100644 index 0000000..95b1d48 --- /dev/null +++ b/multibase-conv/main.go @@ -0,0 +1,32 @@ +package main + +import ( + "fmt" + "os" + + multibase "github.com/multiformats/go-multibase" +) + +func main() { + if len(os.Args) != 3 { + fmt.Printf("usage: %s CID NEW-BASE\n", os.Args[0]) + os.Exit(1) + } + + cid := os.Args[1] + newBase := os.Args[2] + + _, data, err := multibase.Decode(cid) + if err != nil { + fmt.Fprintf(os.Stderr, "%v\n", err) + os.Exit(1) + } + + newCid, err := multibase.Encode(multibase.Encoding(newBase[0]), data) + if err != nil { + fmt.Fprintf(os.Stderr, "%v\n", err) + os.Exit(1) + } + + fmt.Printf("%s\n", newCid) +}