aboutsummaryrefslogtreecommitdiffstats
path: root/cmd/peerserver
diff options
context:
space:
mode:
authorTaylor Gerring <taylor.gerring@gmail.com>2015-01-21 03:22:38 +0800
committerTaylor Gerring <taylor.gerring@gmail.com>2015-01-21 03:22:38 +0800
commitd92fde698031758f64fcabe7af354360a93f6326 (patch)
tree5f843fe17762e0aa87a0e790d527886f2cc8eea5 /cmd/peerserver
parent499bc404e818848e53c8c7f4f6d1bfe2349e97ae (diff)
parent87f50659db7a4bf194769b05f541d2ccf02f4fc8 (diff)
downloaddexon-d92fde698031758f64fcabe7af354360a93f6326.tar
dexon-d92fde698031758f64fcabe7af354360a93f6326.tar.gz
dexon-d92fde698031758f64fcabe7af354360a93f6326.tar.bz2
dexon-d92fde698031758f64fcabe7af354360a93f6326.tar.lz
dexon-d92fde698031758f64fcabe7af354360a93f6326.tar.xz
dexon-d92fde698031758f64fcabe7af354360a93f6326.tar.zst
dexon-d92fde698031758f64fcabe7af354360a93f6326.zip
Merge branch 'develop' into jsonrpc
Diffstat (limited to 'cmd/peerserver')
-rw-r--r--cmd/peerserver/main.go50
1 files changed, 34 insertions, 16 deletions
diff --git a/cmd/peerserver/main.go b/cmd/peerserver/main.go
index 18d183f0b..341c4dbb9 100644
--- a/cmd/peerserver/main.go
+++ b/cmd/peerserver/main.go
@@ -1,10 +1,25 @@
+/*
+ This file is part of go-ethereum
+
+ go-ethereum is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ go-ethereum is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with go-ethereum. If not, see <http://www.gnu.org/licenses/>.
+*/
package main
import (
"crypto/elliptic"
- "fmt"
+ "flag"
"log"
- "net"
"os"
"github.com/ethereum/go-ethereum/crypto"
@@ -12,29 +27,32 @@ import (
"github.com/ethereum/go-ethereum/p2p"
)
+var (
+ natType = flag.String("nat", "", "NAT traversal implementation")
+ pmpGateway = flag.String("gateway", "", "gateway address for NAT-PMP")
+ listenAddr = flag.String("addr", ":30301", "listen address")
+)
+
func main() {
+ flag.Parse()
+ nat, err := p2p.ParseNAT(*natType, *pmpGateway)
+ if err != nil {
+ log.Fatal("invalid nat:", err)
+ }
+
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: 100,
- Identity: p2p.NewSimpleClientIdentity("Ethereum(G)", "0.1", "Peer Server Two", string(marshaled)),
- ListenAddr: ":30301",
- NAT: p2p.UPNP(),
+ Identity: p2p.NewSimpleClientIdentity("Ethereum(G)", "0.1", "Peer Server Two", marshaled),
+ ListenAddr: *listenAddr,
+ NAT: nat,
+ NoDial: true,
}
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-8.ethdev.com:30303")
- if err != nil {
- fmt.Println("couldn't resolve:", err)
- } else {
- srv.SuggestPeer(seed.IP, seed.Port, nil)
+ log.Fatal("could not start server:", err)
}
-
select {}
}