Browse Source

Testing asymetric messages

feature/pss_asym
p4u 5 years ago
parent
commit
dbeaee8f0b
2 changed files with 11 additions and 5 deletions
  1. +5
    -4
      cmd/pssTest/psstest.go
  2. +6
    -1
      net/swarm/swarm.go

+ 5
- 4
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)
}

+ 6
- 1
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
}

Loading…
Cancel
Save