p2p, p2p/discover: add signed ENR generation (#17753)
This PR adds enode.LocalNode and integrates it into the p2p subsystem. This new object is the keeper of the local node record. For now, a new version of the record is produced every time the client restarts. We'll make it smarter to avoid that in the future. There are a couple of other changes in this commit: discovery now waits for all of its goroutines at shutdown and the p2p server now closes the node database after discovery has shut down. This fixes a leveldb crash in tests. p2p server startup is faster because it doesn't need to wait for the external IP query anymore.
Showing
- cmd/bootnode/main.go 6 additions, 5 deletionscmd/bootnode/main.go
- node/node_test.go 4 additions, 4 deletionsnode/node_test.go
- p2p/dial.go 4 additions, 3 deletionsp2p/dial.go
- p2p/dial_test.go 8 additions, 8 deletionsp2p/dial_test.go
- p2p/discover/table.go 22 additions, 19 deletionsp2p/discover/table.go
- p2p/discover/table_test.go 7 additions, 3 deletionsp2p/discover/table_test.go
- p2p/discover/table_util_test.go 20 additions, 5 deletionsp2p/discover/table_util_test.go
- p2p/discover/udp.go 48 additions, 44 deletionsp2p/discover/udp.go
- p2p/discover/udp_test.go 7 additions, 4 deletionsp2p/discover/udp_test.go
- p2p/discv5/udp.go 2 additions, 1 deletionp2p/discv5/udp.go
- p2p/enode/localnode.go 246 additions, 0 deletionsp2p/enode/localnode.go
- p2p/enode/localnode_test.go 76 additions, 0 deletionsp2p/enode/localnode_test.go
- p2p/enode/node.go 7 additions, 0 deletionsp2p/enode/node.go
- p2p/enode/nodedb.go 85 additions, 39 deletionsp2p/enode/nodedb.go
- p2p/enode/nodedb_test.go 2 additions, 2 deletionsp2p/enode/nodedb_test.go
- p2p/enr/enr.go 1 addition, 1 deletionp2p/enr/enr.go
- p2p/enr/enr_test.go 12 additions, 0 deletionsp2p/enr/enr_test.go
- p2p/nat/nat.go 6 additions, 12 deletionsp2p/nat/nat.go
- p2p/nat/nat_test.go 1 addition, 1 deletionp2p/nat/nat_test.go
- p2p/netutil/iptrack.go 130 additions, 0 deletionsp2p/netutil/iptrack.go
Loading
Please register or sign in to comment