From 0126e719178931aa27d9f02d0afc39d7d9b9f687 Mon Sep 17 00:00:00 2001
From: Luca Moser <moser.luca@gmail.com>
Date: Fri, 26 Jun 2020 12:08:50 +0200
Subject: [PATCH] Adds tool to issue data msgs on a remote node (#560)

* adds tool to issue data msgs on a remote node

* gofmt yourself
---
 tools/spammer/main.go | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)
 create mode 100644 tools/spammer/main.go

diff --git a/tools/spammer/main.go b/tools/spammer/main.go
new file mode 100644
index 00000000..cf6adb0b
--- /dev/null
+++ b/tools/spammer/main.go
@@ -0,0 +1,38 @@
+package main
+
+import (
+	"fmt"
+
+	"github.com/iotaledger/goshimmer/client"
+	flag "github.com/spf13/pflag"
+	"github.com/spf13/viper"
+)
+
+const (
+	cfgNodeURI = "node"
+	cfgMessage = "message"
+)
+
+func init() {
+	flag.String(cfgNodeURI, "http://127.0.0.1:8080", "the URI of the node API")
+	flag.String(cfgMessage, "", "the URI of the node API")
+}
+
+func main() {
+	flag.Parse()
+	if err := viper.BindPFlags(flag.CommandLine); err != nil {
+		panic(err)
+	}
+	goshimAPI := client.NewGoShimmerAPI(viper.GetString(cfgNodeURI))
+	messageBytes := []byte(viper.GetString(cfgMessage))
+	var issued, failed int
+	for {
+		fmt.Printf("issued %d, failed %d\r", issued, failed)
+		_, err := goshimAPI.Data(messageBytes)
+		if err != nil {
+			failed++
+			continue
+		}
+		issued++
+	}
+}
-- 
GitLab