Files

42 lines
792 B
Go
Raw Permalink Normal View History

package main
import (
"fmt"
"os"
2017-03-17 15:39:31 +01:00
multibase "github.com/multiformats/go-multibase"
)
func main() {
2017-03-17 15:39:31 +01:00
if len(os.Args) < 3 {
2017-03-17 18:47:36 +01:00
fmt.Printf("usage: %s <new-base> <multibase-str>...\n", os.Args[0])
os.Exit(1)
}
2017-03-17 18:47:36 +01:00
var newBase multibase.Encoding
2018-11-17 19:59:15 +05:30
if baseParam := os.Args[1]; len(baseParam) != 0 {
newBase = multibase.Encoding(baseParam[0])
2017-03-17 18:47:36 +01:00
} else {
fmt.Fprintln(os.Stderr, "<new-base> is empty")
os.Exit(1)
}
input := os.Args[2:]
2017-03-17 18:47:36 +01:00
for _, strmbase := range input {
_, data, err := multibase.Decode(strmbase)
2017-03-17 15:39:31 +01:00
if err != nil {
2017-03-17 18:47:36 +01:00
fmt.Fprintf(os.Stderr, "error while decoding: %s\n", err)
2017-03-17 15:39:31 +01:00
os.Exit(1)
}
2017-03-17 18:47:36 +01:00
newCid, err := multibase.Encode(newBase, data)
2017-03-17 15:39:31 +01:00
if err != nil {
2017-03-17 18:47:36 +01:00
fmt.Fprintf(os.Stderr, "error while encoding: %s\n", err)
2017-03-17 15:39:31 +01:00
os.Exit(1)
}
fmt.Println(newCid)
}
}