Skip to content
Snippets Groups Projects
Select Git revision
  • ef3791e6d0ed68f6a319b4cff670b20259516895
  • without_tipselection default
  • develop protected
  • fix/grafana-local-dashboard
  • wasp
  • fix/dashboard-explorer-freeze
  • master
  • feat/timerqueue
  • test/sync_debug_and_650
  • feat/sync_revamp_inv
  • wip/sync
  • tool/db-recovery
  • portcheck/fix
  • fix/synchronization
  • feat/new-dashboard-analysis
  • feat/refactored-analysis-dashboard
  • feat/new-analysis-dashboard
  • test/demo-prometheus-fpc
  • prometheus_metrics
  • wip/analysis-server
  • merge/fpc-test-value-transfer
  • v0.2.2
  • v0.2.1
  • v0.2.0
  • v0.1.3
  • v0.1.2
  • v0.1.1
  • v0.1.0
28 results

server.go

Blame
  • main.go 1.56 KiB
    package main
    
    import (
    	"fmt"
    	"time"
    
    	client "github.com/iotaledger/goshimmer/client"
    	"github.com/iotaledger/goshimmer/plugins/config"
    	"github.com/iotaledger/goshimmer/plugins/logger"
    )
    
    func testBroadcastData(api *client.GoShimmerAPI) (string, error) {
    	msgID, err := api.Data([]byte(msgData))
    	if err != nil {
    		return "", fmt.Errorf("broadcast failed: %w", err)
    	}
    	return msgID, nil
    }
    
    func testTargetGetMessagess(api *client.GoShimmerAPI, msgID string) error {
    	// query target node for broadcasted data
    	if _, err := api.FindMessageByID([]string{msgID}); err != nil {
    		return fmt.Errorf("querying the target node failed: %w", err)
    	}
    	return nil
    }
    
    func testNodesGetMessages(msgID string) error {
    	// query nodes node for broadcasted data
    	for _, n := range nodes {
    		nodesAPI := client.NewGoShimmerAPI(n)
    		if _, err := nodesAPI.FindMessageByID([]string{msgID}); err != nil {
    			return fmt.Errorf("querying node %s failed: %w", n, err)
    		}
    		fmt.Printf("msg found in node %s\n", n)
    	}
    	return nil
    }
    
    func main() {
    	config.Init()
    	logger.Init()
    
    	initConfig()
    
    	api := client.NewGoShimmerAPI(target)
    	for i := 0; i < repeat; i++ {
    		msgID, err := testBroadcastData(api)
    		if err != nil {
    			fmt.Printf("%s\n", err)
    			break
    		}
    		fmt.Printf("msgID: %s\n", msgID)
    
    		// cooldown time
    		time.Sleep(time.Duration(cooldownTime) * time.Second)
    
    		// query target node
    		err = testTargetGetMessagess(api, msgID)
    		if err != nil {
    			fmt.Printf("%s\n", err)
    			break
    		}
    
    		// query test nodes
    		err = testNodesGetMessages(msgID)
    		if err != nil {
    			fmt.Printf("%s\n", err)
    			break
    		}
    	}
    }