diff options
author | obscuren <geffobscura@gmail.com> | 2014-12-10 22:29:22 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2014-12-10 22:29:22 +0800 |
commit | 4082c8b61d1e9cc57d9da9b9da5c36ff84895d74 (patch) | |
tree | 8670bf8f42dae459a99cea9b2be0ffe8556a26f5 | |
parent | dda778eda7ad9b94acf14c3c91c1c29e711e170f (diff) | |
download | dexon-4082c8b61d1e9cc57d9da9b9da5c36ff84895d74.tar.gz dexon-4082c8b61d1e9cc57d9da9b9da5c36ff84895d74.tar.zst dexon-4082c8b61d1e9cc57d9da9b9da5c36ff84895d74.zip |
added simple peer server
-rw-r--r-- | cmd/peerserver/main.go | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/cmd/peerserver/main.go b/cmd/peerserver/main.go new file mode 100644 index 000000000..0fa7a9b44 --- /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 {} +} |