From dbeaee8f0b99c1ef48bb1194642d2aea1fd06a01 Mon Sep 17 00:00:00 2001 From: p4u Date: Mon, 25 Feb 2019 12:49:05 +0100 Subject: [PATCH] Testing asymetric messages --- cmd/pssTest/psstest.go | 9 +++++---- net/swarm/swarm.go | 7 ++++++- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/cmd/pssTest/psstest.go b/cmd/pssTest/psstest.go index be838c5..362da5e 100644 --- a/cmd/pssTest/psstest.go +++ b/cmd/pssTest/psstest.go @@ -16,19 +16,20 @@ func main() { fmt.Printf("%v\n", err) return } - key := "randomkey0" - sn.PssSub("sym", key, "vocdoni_test", "") + key := os.Args[1] + topic := "vocdoni_test" + sn.PssSub("asym", key, topic, "") go func() { for { - msg := <-sn.PssTopics["vocdoni_test"].Delivery + msg := <-sn.PssTopics[topic].Delivery fmt.Printf("Pss received: %s\n", msg) } }() hostname, _ := os.Hostname() for { - err := sn.PssPub("sym", key, "vocdoni_test", fmt.Sprintf("Hello world from %s", hostname), "") + err := sn.PssPub("asym", key, topic, fmt.Sprintf("Hello world from %s", hostname), "") log.Info("pss sent", "err", err) time.Sleep(10 * time.Second) } diff --git a/net/swarm/swarm.go b/net/swarm/swarm.go index da09e1a..0099054 100644 --- a/net/swarm/swarm.go +++ b/net/swarm/swarm.go @@ -3,6 +3,7 @@ package swarm import ( "context" "crypto/ecdsa" + "encoding/hex" "fmt" "os" "os/user" @@ -299,7 +300,11 @@ func (sn *SwarmNet) PssPub(subType, key, topic, msg, address string) error { err = sn.Pss.SendRaw(hexutil.Bytes(dstAddr), dstTopic, hexutil.Bytes(msg)) } if subType == "asym" { - err = sn.Pss.SetPeerPublicKey(hexutil.Bytes(key), dstTopic, dstAddr) + pubKeyBytes, err := hex.DecodeString(key) + if err != nil { + return err + } + err = sn.Pss.SetPeerPublicKey(pubKeyBytes, dstTopic, dstAddr) if err != nil { return err }