-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.go
79 lines (73 loc) · 1.64 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
package main
import (
"flag"
"fmt"
"github.com/PoCInnovation/PoC2Peer/Server/core"
_ "github.com/libp2p/go-libp2p-core"
"github.com/libp2p/go-libp2p-core/peer"
ma "github.com/multiformats/go-multiaddr"
"log"
"os"
"os/signal"
"syscall"
)
const (
DefaultP2PPort = 5000
DefaultHttpPort = 5001
)
//ifaces, err := net.Interfaces()
//// handle err
//for _, i := range ifaces {
// addrs, err := i.Addrs()
// if err != nil {
// log.Fatal(err)
// }
// // handle err
// for _, addr := range addrs {
// var ip net.IP
// switch v := addr.(type) {
// case *net.IPNet:
// ip = v.IP
// fmt.Println(ip)
// case *net.IPAddr:
// ip = v.IP
// }
// // process IP address
// }
//}
func main() {
//ctx, cancel := context.WithCancel(context.Background())
//defer cancel()
P2PPort := flag.Int("lp", DefaultP2PPort, "wait for incoming connections")
HttpPort := flag.Int("lh", DefaultHttpPort, "wait for incoming connections")
flag.Parse()
flag.Parse()
s, err := core.NewP2PServer(*HttpPort, *P2PPort)
if err != nil {
log.Fatal(err)
}
if err = s.Run(); err != nil {
log.Fatal(err)
}
ch := make(chan os.Signal, 1)
signal.Notify(ch, syscall.SIGINT, syscall.SIGTERM)
<-ch
fmt.Println("Received signal, shutting down...")
// shut the node down
if err := s.Close(); err != nil {
panic(err)
}
//makeRoutedHost(*P2PPort, convertPeers([]string{"/ip4/0.0.0.0/tcp/5000"}))
}
func convertPeers(peers []string) []peer.AddrInfo {
pinfos := make([]peer.AddrInfo, len(peers))
for i, addr := range peers {
maddr := ma.StringCast(addr)
p, err := peer.AddrInfoFromP2pAddr(maddr)
if err != nil {
log.Fatalln(err)
}
pinfos[i] = *p
}
return pinfos
}