Testing asymetric messages

This commit is contained in:
p4u
2019-02-25 12:49:05 +01:00
parent 4d905d5d0b
commit dbeaee8f0b
2 changed files with 11 additions and 5 deletions

View File

@@ -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)
}

View File

@@ -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
}