arnaucube
arnaucube/go-dvotePublic Self-hosted repository
Testing asymetric messages
p4u p4u@dabax.net
Mon, 25 Feb 2019 12:49:05 +0100
commit

dbeaee8f0b99c1ef48bb1194642d2aea1fd06a01

parent

4d905d5d0bd05386aeffa2a57a59f069444c568a

2 files changed, 11 insertions(+), 5 deletions(-)

jump to
M cmd/pssTest/psstest.go → cmd/pssTest/psstest.go

@@ -16,19 +16,20 @@ if err != nil {

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) }
M net/swarm/swarm.go → net/swarm/swarm.go

@@ -3,6 +3,7 @@

import ( "context" "crypto/ecdsa" + "encoding/hex" "fmt" "os" "os/user"

@@ -299,7 +300,11 @@ if subType == "raw" {

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 }