59 lines
1.1 KiB
Go
Raw Normal View History

2019-04-02 14:37:56 +02:00
package main
import (
"flag"
"fmt"
"log"
"os"
"github.com/status-im/status-console-client/protocol/adapters"
2019-05-15 14:00:04 +03:00
"github.com/status-im/status-console-client/protocol/client"
2019-04-02 14:37:56 +02:00
)
var (
publicTopic = flag.String("topic-public", "", "print public topic")
privateTopic = flag.Bool("topic-private", false, "print private topic")
output = flag.String("o", "hex", "output format (hex, text, go)")
)
func main() {
flag.Parse()
log.Println("flags:", *publicTopic, *privateTopic, *output)
if *publicTopic != "" {
2019-05-15 14:00:04 +03:00
topic, err := adapters.ToTopic(*publicTopic)
2019-04-02 14:37:56 +02:00
exitErr(err)
printOutput(topic)
} else if *privateTopic {
2019-05-15 14:00:04 +03:00
topic, err := adapters.ToTopic(client.DefaultPrivateTopic())
2019-04-02 14:37:56 +02:00
exitErr(err)
printOutput(topic)
}
}
func printOutput(data interface{}) {
var err error
if *output == "hex" {
_, err = fmt.Fprintf(os.Stdout, "0x%x\n", data)
} else if *output == "text" {
_, err = fmt.Fprintf(os.Stdout, "%s\n", data)
} else {
_, err = fmt.Fprintf(os.Stdout, "%+v\n", data)
}
exitErr(err)
}
func exitErr(err error) {
if err == nil {
return
}
fmt.Println(err)
os.Exit(1)
}