Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
Geth-Modification
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
张蕾
Geth-Modification
Commits
4a0ade47
Commit
4a0ade47
authored
Jan 08, 2015
by
obscuren
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed some whisper issues
parent
5f958a58
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
37 additions
and
24 deletions
+37
-24
main.js
cmd/mist/assets/ext/eth.js/main.js
+1
-0
browser.qml
cmd/mist/assets/qml/browser.qml
+25
-19
whisper.go
ui/qt/qwhisper/whisper.go
+7
-3
message.go
whisper/message.go
+2
-0
peer.go
whisper/peer.go
+1
-1
whisper.go
whisper/whisper.go
+1
-1
No files found.
cmd/mist/assets/ext/eth.js/main.js
View file @
4a0ade47
...
...
@@ -352,6 +352,7 @@
web3
.
provider
=
new
ProviderManager
();
web3
.
setProvider
=
function
(
provider
)
{
console
.
log
(
"setprovider"
,
provider
)
provider
.
onmessage
=
messageHandler
;
web3
.
provider
.
set
(
provider
);
web3
.
provider
.
sendQueued
();
...
...
cmd/mist/assets/qml/browser.qml
View file @
4a0ade47
...
...
@@ -59,7 +59,7 @@ Rectangle {
}
Component.onCompleted
:
{
webview
.
url
=
"
/Users/jeffrey/test.html
"
webview
.
url
=
"
http://etherian.io
"
}
signal
messages
(
var
messages
,
int
id
);
...
...
@@ -153,7 +153,9 @@ Rectangle {
}
function
injectJs
(
js
)
{
experimental
.
evaluateJavaScript
(
js
)
//webview.experimental.navigatorQtObjectEnabled = true;
//webview.experimental.evaluateJavaScript(js)
//webview.experimental.javascriptEnabled = true;
}
function
sendMessage
(
data
)
{
...
...
@@ -164,7 +166,7 @@ Rectangle {
experimental
.
preferences
.
javascriptEnabled
:
true
experimental
.
preferences
.
navigatorQtObjectEnabled
:
true
experimental
.
preferences
.
developerExtrasEnabled
:
true
//
experimental.userScripts: ["../ext/q.js", "../ext/eth.js/main.js", "../ext/eth.js/qt.js", "../ext/setup.js"]
experimental
.
userScripts
:
[
"../ext/q.js"
,
"../ext/eth.js/main.js"
,
"../ext/eth.js/qt.js"
,
"../ext/setup.js"
]
experimental
.
onMessageReceived
:
{
console
.
log
(
"[onMessageReceived]: "
,
message
.
data
)
// TODO move to messaging.js
...
...
@@ -344,24 +346,28 @@ Rectangle {
break
;
case
"newIdentity"
:
postData
(
data
.
_id
,
shh
.
newIdentity
())
break
var
id
=
shh
.
newIdentity
()
console
.
log
(
"newIdentity"
,
id
)
postData
(
data
.
_id
,
id
)
break
case
"post"
:
require
(
1
);
var
params
=
data
.
args
[
0
];
var
fields
=
[
"payload"
,
"to"
,
"from"
];
for
(
var
i
=
0
;
i
<
fields
.
length
;
i
++
)
{
params
[
fields
[
i
]]
=
params
[
fields
[
i
]]
||
""
;
}
if
(
typeof
params
.
payload
!==
"object"
)
{
params
.
payload
=
[
params
.
payload
];
}
//params.payload = params.payload.join(""); }
params
.
topics
=
params
.
topics
||
[];
params
.
priority
=
params
.
priority
||
1000
;
params
.
ttl
=
params
.
ttl
||
100
;
console
.
log
(
JSON
.
stringify
(
params
))
shh
.
post
(
params
.
payload
,
params
.
to
,
params
.
from
,
params
.
topics
,
params
.
priority
,
params
.
ttl
);
break
;
require
(
1
);
var
params
=
data
.
args
[
0
];
var
fields
=
[
"payload"
,
"to"
,
"from"
];
for
(
var
i
=
0
;
i
<
fields
.
length
;
i
++
)
{
params
[
fields
[
i
]]
=
params
[
fields
[
i
]]
||
""
;
}
if
(
typeof
params
.
payload
!==
"object"
)
{
params
.
payload
=
[
params
.
payload
];
}
//params.payload = params.payload.join(""); }
params
.
topics
=
params
.
topics
||
[];
params
.
priority
=
params
.
priority
||
1000
;
params
.
ttl
=
params
.
ttl
||
100
;
shh
.
post
(
params
.
payload
,
params
.
to
,
params
.
from
,
params
.
topics
,
params
.
priority
,
params
.
ttl
);
break
;
}
}
catch
(
e
)
{
console
.
log
(
data
.
call
+
": "
+
e
)
...
...
ui/qt/qwhisper/whisper.go
View file @
4a0ade47
...
...
@@ -6,10 +6,13 @@ import (
"github.com/ethereum/go-ethereum/crypto"
"github.com/ethereum/go-ethereum/ethutil"
"github.com/ethereum/go-ethereum/logger"
"github.com/ethereum/go-ethereum/whisper"
"gopkg.in/qml.v1"
)
var
qlogger
=
logger
.
NewLogger
(
"QSHH"
)
func
fromHex
(
s
string
)
[]
byte
{
if
len
(
s
)
>
1
{
return
ethutil
.
Hex2Bytes
(
s
[
2
:
])
...
...
@@ -36,9 +39,10 @@ func (self *Whisper) SetView(view qml.Object) {
func
(
self
*
Whisper
)
Post
(
payload
[]
string
,
to
,
from
string
,
topics
[]
string
,
priority
,
ttl
uint32
)
{
var
data
[]
byte
for
_
,
d
:=
range
payload
{
data
=
append
(
data
,
fromHex
(
d
)
...
)
data
=
append
(
data
,
ethutil
.
Hex2Bytes
(
d
)
...
)
}
fmt
.
Println
(
payload
,
data
,
"from"
,
from
,
fromHex
(
from
),
crypto
.
ToECDSA
(
fromHex
(
from
)))
msg
:=
whisper
.
NewMessage
(
data
)
envelope
,
err
:=
msg
.
Seal
(
time
.
Duration
(
priority
*
100000
),
whisper
.
Opts
{
Ttl
:
time
.
Duration
(
ttl
),
...
...
@@ -47,13 +51,13 @@ func (self *Whisper) Post(payload []string, to, from string, topics []string, pr
Topics
:
whisper
.
TopicsFromString
(
topics
...
),
})
if
err
!=
nil
{
fmt
.
Print
ln
(
err
)
qlogger
.
Info
ln
(
err
)
// handle error
return
}
if
err
:=
self
.
Whisper
.
Send
(
envelope
);
err
!=
nil
{
fmt
.
Print
ln
(
err
)
qlogger
.
Info
ln
(
err
)
// handle error
return
}
...
...
whisper/message.go
View file @
4a0ade47
...
...
@@ -2,6 +2,7 @@ package whisper
import
(
"crypto/ecdsa"
"fmt"
"time"
"github.com/ethereum/go-ethereum/crypto"
...
...
@@ -53,6 +54,7 @@ type Opts struct {
}
func
(
self
*
Message
)
Seal
(
pow
time
.
Duration
,
opts
Opts
)
(
*
Envelope
,
error
)
{
fmt
.
Println
(
opts
)
if
opts
.
From
!=
nil
{
err
:=
self
.
sign
(
opts
.
From
)
if
err
!=
nil
{
...
...
whisper/peer.go
View file @
4a0ade47
...
...
@@ -55,7 +55,7 @@ out:
case
<-
relay
.
C
:
err
:=
self
.
broadcast
(
self
.
host
.
envelopes
())
if
err
!=
nil
{
self
.
peer
.
Infoln
(
err
)
self
.
peer
.
Infoln
(
"broadcast err:"
,
err
)
break
out
}
...
...
whisper/whisper.go
View file @
4a0ade47
...
...
@@ -229,11 +229,11 @@ func (self *Whisper) envelopes() (envelopes []*Envelope) {
func
(
self
*
Whisper
)
postEvent
(
envelope
*
Envelope
)
{
for
_
,
key
:=
range
self
.
keys
{
if
message
,
err
:=
envelope
.
Open
(
key
);
err
==
nil
||
(
err
!=
nil
&&
err
==
ecies
.
ErrInvalidPublicKey
)
{
// Create a custom filter?
self
.
filters
.
Notify
(
filter
.
Generic
{
Str1
:
string
(
crypto
.
FromECDSA
(
key
)),
Str2
:
string
(
crypto
.
FromECDSAPub
(
message
.
Recover
())),
Data
:
bytesToMap
(
envelope
.
Topics
),
},
message
)
break
}
else
{
wlogger
.
Infoln
(
err
)
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment