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
e280a2a7
Commit
e280a2a7
authored
Jan 12, 2014
by
obscuren
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Server testing blocks
parent
fedbd9a9
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
31 additions
and
18 deletions
+31
-18
ethereum.go
ethereum.go
+4
-2
server.go
server.go
+27
-16
No files found.
ethereum.go
View file @
e280a2a7
...
...
@@ -65,7 +65,7 @@ func main() {
go
func
()
{
for
{
res
:=
dagger
.
Search
(
ethutil
.
Big
(
"0"
),
ethutil
.
BigPow
(
2
,
36
))
server
.
Broadcast
(
"block"
,
Encode
(
res
.
String
()))
server
.
Broadcast
(
"block"
,
ethutil
.
Encode
(
res
.
String
()))
}
}()
}
...
...
@@ -74,8 +74,10 @@ func main() {
err
=
server
.
ConnectToPeer
(
"localhost:12345"
)
if
err
!=
nil
{
log
.
Println
(
err
)
log
.
Println
(
"Error starting server"
,
err
)
server
.
Stop
()
return
}
...
...
server.go
View file @
e280a2a7
...
...
@@ -4,46 +4,56 @@ import (
"container/list"
"github.com/ethereum/ethdb-go"
"github.com/ethereum/ethutil-go"
"github.com/ethereum/ethwire-go"
"log"
"net"
_
"time"
"time"
)
type
Server
struct
{
// Channel for shutting down the server
shutdownChan
chan
bool
// DB interface
db
*
ethdb
.
LDBDatabase
//db *ethdb.LDBDatabase
db
*
ethdb
.
MemDatabase
// Block manager for processing new blocks and managing the block chain
blockManager
*
BlockManager
// Peers (NYI)
peers
*
list
.
List
// Nonce
Nonce
uint64
}
func
NewServer
()
(
*
Server
,
error
)
{
db
,
err
:=
ethdb
.
NewLDBDatabase
()
//db, err := ethdb.NewLDBDatabase()
db
,
err
:=
ethdb
.
NewMemDatabase
()
if
err
!=
nil
{
return
nil
,
err
}
ethutil
.
SetConfig
(
db
)
nonce
,
_
:=
ethutil
.
RandomUint64
()
server
:=
&
Server
{
shutdownChan
:
make
(
chan
bool
),
blockManager
:
NewBlockManager
(),
db
:
db
,
peers
:
list
.
New
(),
Nonce
:
nonce
,
}
return
server
,
nil
}
func
(
s
*
Server
)
AddPeer
(
conn
net
.
Conn
)
{
peer
:=
NewPeer
(
conn
,
s
)
s
.
peers
.
PushBack
(
peer
)
peer
.
Start
()
peer
:=
NewPeer
(
conn
,
s
,
true
)
if
peer
!=
nil
{
s
.
peers
.
PushBack
(
peer
)
peer
.
Start
()
log
.
Println
(
"Peer connected ::"
,
conn
.
RemoteAddr
())
log
.
Println
(
"Peer connected ::"
,
conn
.
RemoteAddr
())
}
}
func
(
s
*
Server
)
ConnectToPeer
(
addr
string
)
error
{
...
...
@@ -53,7 +63,7 @@ func (s *Server) ConnectToPeer(addr string) error {
return
err
}
peer
:=
NewPeer
(
conn
,
s
)
peer
:=
NewPeer
(
conn
,
s
,
false
)
s
.
peers
.
PushBack
(
peer
)
peer
.
Start
()
...
...
@@ -65,7 +75,7 @@ func (s *Server) ConnectToPeer(addr string) error {
func
(
s
*
Server
)
Broadcast
(
msgType
string
,
data
[]
byte
)
{
for
e
:=
s
.
peers
.
Front
();
e
!=
nil
;
e
=
e
.
Next
()
{
if
peer
,
ok
:=
e
.
Value
.
(
*
Peer
);
ok
{
peer
.
QueueMessage
(
msgType
,
data
)
peer
.
QueueMessage
(
ethwire
.
NewMessage
(
msgType
,
0
,
data
)
)
}
}
}
...
...
@@ -83,6 +93,7 @@ func (s *Server) Start() {
conn
,
err
:=
ln
.
Accept
()
if
err
!=
nil
{
log
.
Println
(
err
)
continue
}
...
...
@@ -91,13 +102,13 @@ func (s *Server) Start() {
}()
// TMP
//
go func() {
//
for {
// s.Broadcast("block", Encode("blockdata"
))
//
// time.Sleep(1
00 * time.Millisecond)
//
}
//
}()
go
func
()
{
for
{
s
.
Broadcast
(
"block"
,
s
.
blockManager
.
bc
.
GenesisBlock
()
.
MarshalRlp
(
))
time
.
Sleep
(
10
00
*
time
.
Millisecond
)
}
}()
}
func
(
s
*
Server
)
Stop
()
{
...
...
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