arnaucube
arnaucube/go-dvotePublic Self-hosted repository
go-dvote/cmd/pssTest/psstest.go
cmd/pssTest/psstest.goRaw
 1package main
 2
 3import (
 4	"fmt"
 5	"os"
 6	"time"
 7
 8	"github.com/ethereum/go-ethereum/log"
 9	swarm "github.com/vocdoni/go-dvote/net/swarm"
10)
11
12func main() {
13	sn := new(swarm.SwarmNet)
14	err := sn.Init()
15	if err != nil {
16		fmt.Printf("%v\n", err)
17		return
18	}
19	key := "randomkey0"
20	sn.PssSub("sym", key, "vocdoni_test", "")
21
22	go func() {
23		for {
24			msg := <-sn.PssTopics["vocdoni_test"].Delivery
25			fmt.Printf("Pss received: %s\n", msg)
26		}
27	}()
28
29	hostname, _ := os.Hostname()
30	for {
31		err := sn.PssPub("sym", key, "vocdoni_test", fmt.Sprintf("Hello world from %s", hostname), "")
32		log.Info("pss sent", "err", err)
33		time.Sleep(10 * time.Second)
34	}
35}