From 4082c8b61d1e9cc57d9da9b9da5c36ff84895d74 Mon Sep 17 00:00:00 2001 From: obscuren Date: Wed, 10 Dec 2014 15:29:22 +0100 Subject: [PATCH] added simple peer server --- cmd/peerserver/main.go | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 cmd/peerserver/main.go diff --git a/cmd/peerserver/main.go b/cmd/peerserver/main.go new file mode 100644 index 0000000000..0fa7a9b440 --- /dev/null +++ b/cmd/peerserver/main.go @@ -0,0 +1,40 @@ +package main + +import ( + "crypto/elliptic" + "fmt" + "log" + "net" + "os" + + "github.com/ethereum/go-ethereum/crypto" + "github.com/ethereum/go-ethereum/logger" + "github.com/ethereum/go-ethereum/p2p" +) + +func main() { + logger.AddLogSystem(logger.NewStdLogSystem(os.Stdout, log.LstdFlags, logger.InfoLevel)) + key, _ := crypto.GenerateKey() + marshaled := elliptic.Marshal(crypto.S256(), key.PublicKey.X, key.PublicKey.Y) + + srv := p2p.Server{ + MaxPeers: 10, + Identity: p2p.NewSimpleClientIdentity("Ethereum(G)", "0.1", "Peer Server Two", string(marshaled)), + ListenAddr: ":30301", + NAT: p2p.UPNP(), + } + if err := srv.Start(); err != nil { + fmt.Println("could not start server:", err) + os.Exit(1) + } + + // add seed peers + seed, err := net.ResolveTCPAddr("tcp", "poc-7.ethdev.com:30300") + if err != nil { + fmt.Println("couldn't resolve:", err) + os.Exit(1) + } + srv.SuggestPeer(seed.IP, seed.Port, nil) + + select {} +}