Fixed whisper "to" filtering. Closes #283
This commit is contained in:
parent
623469cb6c
commit
7bd2fbe2b1
|
@ -10,6 +10,7 @@
|
||||||
<h1>Whisper test</h1>
|
<h1>Whisper test</h1>
|
||||||
|
|
||||||
<button onclick="test()">Send</button>
|
<button onclick="test()">Send</button>
|
||||||
|
<button onclick="test2()">Private send</button>
|
||||||
|
|
||||||
<table width="100%" id="table">
|
<table width="100%" id="table">
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -44,10 +45,19 @@
|
||||||
document.querySelector("#table").innerHTML += "<tr><td colspan='2'>"+JSON.stringify(message)+"</td></tr>";
|
document.querySelector("#table").innerHTML += "<tr><td colspan='2'>"+JSON.stringify(message)+"</td></tr>";
|
||||||
});
|
});
|
||||||
|
|
||||||
|
var selfWatch = shh.watch({to: id, topics: ["test"]})
|
||||||
|
selfWatch.arrived(function(message) {
|
||||||
|
document.querySelector("#table").innerHTML += "<tr><td>To me</td><td>"+JSON.stringify(message)+"</td></tr>";
|
||||||
|
});
|
||||||
|
|
||||||
function test() {
|
function test() {
|
||||||
shh.post({topics: ["test"], payload: web3.fromAscii("test it")});
|
shh.post({topics: ["test"], payload: web3.fromAscii("test it")});
|
||||||
count();
|
count();
|
||||||
|
}
|
||||||
|
|
||||||
|
function test2() {
|
||||||
|
shh.post({to: id, topics: ["test"], payload: web3.fromAscii("Private")});
|
||||||
|
count();
|
||||||
}
|
}
|
||||||
|
|
||||||
function count() {
|
function count() {
|
||||||
|
|
|
@ -11,11 +11,11 @@ type Message struct {
|
||||||
Flags byte
|
Flags byte
|
||||||
Signature []byte
|
Signature []byte
|
||||||
Payload []byte
|
Payload []byte
|
||||||
Sent uint64
|
Sent int64
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewMessage(payload []byte) *Message {
|
func NewMessage(payload []byte) *Message {
|
||||||
return &Message{Flags: 0, Payload: payload}
|
return &Message{Flags: 0, Payload: payload, Sent: time.Now().Unix()}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (self *Message) hash() []byte {
|
func (self *Message) hash() []byte {
|
||||||
|
|
|
@ -269,7 +269,7 @@ func (self *Whisper) Protocol() p2p.Protocol {
|
||||||
|
|
||||||
func createFilter(message *Message, topics [][]byte, key *ecdsa.PrivateKey) filter.Filter {
|
func createFilter(message *Message, topics [][]byte, key *ecdsa.PrivateKey) filter.Filter {
|
||||||
return filter.Generic{
|
return filter.Generic{
|
||||||
Str1: string(crypto.FromECDSA(key)), Str2: string(crypto.FromECDSAPub(message.Recover())),
|
Str1: string(crypto.FromECDSAPub(&key.PublicKey)), Str2: string(crypto.FromECDSAPub(message.Recover())),
|
||||||
Data: bytesToMap(topics),
|
Data: bytesToMap(topics),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,7 @@ package xeth
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
|
"fmt"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/ethereum/go-ethereum/crypto"
|
"github.com/ethereum/go-ethereum/crypto"
|
||||||
|
@ -31,6 +32,7 @@ func (self *Whisper) Post(payload string, to, from string, topics []string, prio
|
||||||
|
|
||||||
pk := crypto.ToECDSAPub(fromHex(from))
|
pk := crypto.ToECDSAPub(fromHex(from))
|
||||||
if key := self.Whisper.GetIdentity(pk); key != nil || len(from) == 0 {
|
if key := self.Whisper.GetIdentity(pk); key != nil || len(from) == 0 {
|
||||||
|
fmt.Println("POST:", to)
|
||||||
msg := whisper.NewMessage(fromHex(payload))
|
msg := whisper.NewMessage(fromHex(payload))
|
||||||
envelope, err := msg.Seal(time.Duration(priority*100000), whisper.Opts{
|
envelope, err := msg.Seal(time.Duration(priority*100000), whisper.Opts{
|
||||||
Ttl: time.Duration(ttl) * time.Second,
|
Ttl: time.Duration(ttl) * time.Second,
|
||||||
|
@ -101,7 +103,7 @@ type WhisperMessage struct {
|
||||||
ref *whisper.Message
|
ref *whisper.Message
|
||||||
Payload string `json:"payload"`
|
Payload string `json:"payload"`
|
||||||
From string `json:"from"`
|
From string `json:"from"`
|
||||||
Sent uint64 `json:"time"`
|
Sent int64 `json:"time"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewWhisperMessage(msg *whisper.Message) WhisperMessage {
|
func NewWhisperMessage(msg *whisper.Message) WhisperMessage {
|
||||||
|
|
Loading…
Reference in New Issue