From aec6710ed539e422183de28c1e220364275da4c4 Mon Sep 17 00:00:00 2001
From: Luca Moser <moser.luca@gmail.com>
Date: Thu, 23 Jan 2020 17:08:19 +0100
Subject: [PATCH] Adds relay-checker tool readme (#171)

* partial readme

* adds readme to the relay-checker and refactors it a little bit
---
 tools/relay-checker/README.md     | 15 +++++++++++++++
 tools/relay-checker/config.go     | 24 ++++++++++++------------
 tools/relay-checker/config.json   | 12 ++++++------
 tools/relay-checker/main.go       |  6 +++---
 tools/relay-checker/parameters.go | 22 +++++++++++-----------
 5 files changed, 47 insertions(+), 32 deletions(-)
 create mode 100644 tools/relay-checker/README.md

diff --git a/tools/relay-checker/README.md b/tools/relay-checker/README.md
new file mode 100644
index 00000000..f3102cb4
--- /dev/null
+++ b/tools/relay-checker/README.md
@@ -0,0 +1,15 @@
+# Relay-Checker
+
+This tool checks whether a transaction which is created on a given node (via `broadcastData`), 
+is actually relayed/gossiped through the network by checking the transaction's existence on other 
+specified nodes after a cooldown.
+
+This program can be configured via CLI flags:
+```
+--relayChecker.cooldownTime int    the cooldown time after broadcasting the data on the specified target node (default 10)
+--relayChecker.data string         data to broadcast (default "TEST99BROADCAST99DATA")
+--relayChecker.repeat int          the amount of times to repeat the relay-checker queries (default 1)
+--relayChecker.targetNode string   the target node from the which transaction will be broadcasted from (default "http://127.0.0.1:8080")
+--relayChecker.testNodes strings   the list of nodes to check after the cooldown
+--relayChecker.txAddress string    the transaction address (default "SHIMMER99TEST99999999999999999999999999999999999999999999999999999999999999999999")
+```
\ No newline at end of file
diff --git a/tools/relay-checker/config.go b/tools/relay-checker/config.go
index 9096faf6..6833f365 100644
--- a/tools/relay-checker/config.go
+++ b/tools/relay-checker/config.go
@@ -5,12 +5,12 @@ import (
 )
 
 var (
-	nodes    []string
-	target   = ""
-	txnAddr  = "GOSHIMMER99TEST999999999999999999999999999999999999999999999999999999999999999999"
-	txnData  = "TEST99BROADCAST99DATA"
-	cooldown = 2
-	maxQuery = 1
+	nodes        []string
+	target       = ""
+	txnAddr      = "GOSHIMMER99TEST999999999999999999999999999999999999999999999999999999999999999999"
+	txnData      = "TEST99BROADCAST99DATA"
+	cooldownTime = 2
+	repeat       = 1
 )
 
 func LoadConfig() {
@@ -31,16 +31,16 @@ func SetConfig() {
 	nodes = append(nodes, parameter.NodeConfig.GetStringSlice(CFG_TEST_NODES)...)
 
 	// optional settings
-	if parameter.NodeConfig.GetString(CFG_TXN_ADDRESS) != "" {
-		txnAddr = parameter.NodeConfig.GetString(CFG_TXN_ADDRESS)
+	if parameter.NodeConfig.GetString(CFG_TX_ADDRESS) != "" {
+		txnAddr = parameter.NodeConfig.GetString(CFG_TX_ADDRESS)
 	}
 	if parameter.NodeConfig.GetString(CFG_DATA) != "" {
 		txnData = parameter.NodeConfig.GetString(CFG_DATA)
 	}
-	if parameter.NodeConfig.GetInt(CFG_COOL_DOWN_TIME) > 0 {
-		cooldown = parameter.NodeConfig.GetInt(CFG_COOL_DOWN_TIME)
+	if parameter.NodeConfig.GetInt(CFG_COOLDOWN_TIME) > 0 {
+		cooldownTime = parameter.NodeConfig.GetInt(CFG_COOLDOWN_TIME)
 	}
-	if parameter.NodeConfig.GetInt(CFG_MAX_QUERY) > 0 {
-		maxQuery = parameter.NodeConfig.GetInt(CFG_MAX_QUERY)
+	if parameter.NodeConfig.GetInt(CFG_REPEAT) > 0 {
+		repeat = parameter.NodeConfig.GetInt(CFG_REPEAT)
 	}
 }
diff --git a/tools/relay-checker/config.json b/tools/relay-checker/config.json
index d7c0df55..a830da12 100644
--- a/tools/relay-checker/config.json
+++ b/tools/relay-checker/config.json
@@ -1,12 +1,12 @@
 {
-  "relaycheck": {
-    "targetnode": "http://127.0.0.1:8080",
-    "nodes": [
+  "relayChecker": {
+    "targetNode": "http://127.0.0.1:8080",
+    "testNodes": [
         "http://127.0.0.1:8080"
     ],
-    "txnaddress": "SHIMMER99TEST99999999999999999999999999999999999999999999999999999999999999999999", 
+    "txAddress": "SHIMMER99TEST99999999999999999999999999999999999999999999999999999999999999999999",
     "data": "TEST99BROADCAST99DATA",
-    "cooldowntime": 10,
-    "maxquery": 2 
+    "cooldownTime": 10,
+    "repeat": 2
   }
 }
diff --git a/tools/relay-checker/main.go b/tools/relay-checker/main.go
index 80484582..4bdc5708 100644
--- a/tools/relay-checker/main.go
+++ b/tools/relay-checker/main.go
@@ -41,7 +41,7 @@ func main() {
 	SetConfig()
 
 	api := client.NewGoShimmerAPI(target)
-	for i := 0; i < maxQuery; i++ {
+	for i := 0; i < repeat; i++ {
 		txnHash, err := testBroadcastData(api)
 		if err != nil {
 			fmt.Printf("%s\n", err)
@@ -50,7 +50,7 @@ func main() {
 		fmt.Printf("txnHash: %s\n", txnHash)
 
 		// cooldown time
-		time.Sleep(time.Duration(cooldown) * time.Second)
+		time.Sleep(time.Duration(cooldownTime) * time.Second)
 
 		// query target node
 		err = testTargetGetTransactions(api, txnHash)
@@ -59,7 +59,7 @@ func main() {
 			break
 		}
 
-		// query nodes node
+		// query test nodes
 		err = testNodesGetTransactions(txnHash)
 		if err != nil {
 			fmt.Printf("%s\n", err)
diff --git a/tools/relay-checker/parameters.go b/tools/relay-checker/parameters.go
index b1ee2b9b..ac64aaf7 100644
--- a/tools/relay-checker/parameters.go
+++ b/tools/relay-checker/parameters.go
@@ -5,19 +5,19 @@ import (
 )
 
 const (
-	CFG_TARGET_NODE    = "relaycheck.targetNode"
-	CFG_TEST_NODES     = "relaycheck.nodes"
-	CFG_TXN_ADDRESS    = "relaycheck.txnAddress"
-	CFG_DATA           = "relaycheck.data"
-	CFG_COOL_DOWN_TIME = "relaycheck.cooldownTime"
-	CFG_MAX_QUERY      = "relaycheck.maxQuery"
+	CFG_TARGET_NODE   = "relayChecker.targetNode"
+	CFG_TEST_NODES    = "relayChecker.testNodes"
+	CFG_TX_ADDRESS    = "relayChecker.txAddress"
+	CFG_DATA          = "relayChecker.data"
+	CFG_COOLDOWN_TIME = "relayChecker.cooldownTime"
+	CFG_REPEAT        = "relayChecker.repeat"
 )
 
 func init() {
-	flag.StringSlice(CFG_TEST_NODES, []string{""}, "list of trusted entry nodes for auto peering")
-	flag.String(CFG_TARGET_NODE, "http://127.0.0.1:8080", "target node to test")
-	flag.String(CFG_TXN_ADDRESS, "SHIMMER99TEST99999999999999999999999999999999999999999999999999999999999999999999", "transaction address")
+	flag.StringSlice(CFG_TEST_NODES, []string{""}, "the list of nodes to check after the cooldown")
+	flag.String(CFG_TARGET_NODE, "http://127.0.0.1:8080", "the target node from the which transaction will be broadcasted from")
+	flag.String(CFG_TX_ADDRESS, "SHIMMER99TEST99999999999999999999999999999999999999999999999999999999999999999999", "the transaction address")
 	flag.String(CFG_DATA, "TEST99BROADCAST99DATA", "data to broadcast")
-	flag.Int(CFG_COOL_DOWN_TIME, 10, "cooldown time after broadcast data")
-	flag.Int(CFG_MAX_QUERY, 1, "the repeat times of relay-checker")
+	flag.Int(CFG_COOLDOWN_TIME, 10, "the cooldown time after broadcasting the data on the specified target node")
+	flag.Int(CFG_REPEAT, 1, "the amount of times to repeat the relay-checker queries")
 }
-- 
GitLab