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
bf566a65
Commit
bf566a65
authored
Dec 12, 2014
by
obscuren
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Implemented Qt whisper interface
parent
8577e417
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
70 additions
and
0 deletions
+70
-0
whisper.go
ui/qt/qwhisper/whisper.go
+70
-0
No files found.
ui/qt/qwhisper/whisper.go
0 → 100644
View file @
bf566a65
package
qwhisper
import
(
"time"
"github.com/ethereum/eth-go/ethutil"
"github.com/ethereum/go-ethereum/whisper"
)
func
fromHex
(
s
string
)
[]
byte
{
if
len
(
s
)
>
1
{
return
ethutil
.
Hex2Bytes
(
s
[
2
:
])
}
return
nil
}
func
toHex
(
b
[]
byte
)
string
{
return
"0x"
+
ethutil
.
Bytes2Hex
(
b
)
}
type
Whisper
struct
{
*
whisper
.
Whisper
}
func
New
(
w
*
whisper
.
Whisper
)
*
Whisper
{
return
&
Whisper
{
w
}
}
func
(
self
*
Whisper
)
Post
(
data
string
,
pow
,
ttl
uint32
,
to
,
from
string
)
{
msg
:=
whisper
.
NewMessage
(
fromHex
(
data
))
envelope
,
err
:=
msg
.
Seal
(
time
.
Duration
(
pow
),
whisper
.
Opts
{
Ttl
:
time
.
Duration
(
ttl
),
To
:
crypto
.
PubTECDSA
(
fromHex
(
to
)),
From
:
crypto
.
ToECDSA
(
fromHex
(
from
)),
})
if
err
!=
nil
{
// handle error
return
}
if
err
:=
self
.
Whisper
.
Send
(
envolpe
);
err
!=
nil
{
// handle error
return
}
}
func
(
self
*
Whisper
)
NewIdentity
()
string
{
return
toHex
(
self
.
Whisper
.
NewIdentity
()
.
D
.
Bytes
())
}
func
(
self
*
Whisper
)
HasIdentify
(
key
string
)
bool
{
return
self
.
Whisper
.
HasIdentity
(
crypto
.
ToECDSA
(
fromHex
(
key
)))
}
func
(
self
*
Whisper
)
Watch
(
opts
map
[
string
]
interface
{})
{
filter
:=
filterFromMap
(
opts
)
filter
.
Fn
=
func
(
msg
*
Message
)
{
// TODO POST TO QT WINDOW
}
self
.
Watch
(
filter
)
}
func
filterFromMap
(
opts
map
[
string
]
interface
{})
whisper
.
Filter
{
var
f
Filter
if
to
,
ok
:=
opts
[
"to"
]
.
(
string
);
ok
{
f
.
To
=
ToECDSA
(
fromHex
(
to
))
}
if
from
,
ok
:=
opts
[
"from"
]
.
(
string
);
ok
{
f
.
From
=
ToECDSAPub
(
fromHex
(
from
))
}
return
f
}
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