diff options
author | Felix Lange <fjl@users.noreply.github.com> | 2018-10-12 17:47:24 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-12 17:47:24 +0800 |
commit | 6f607de5d590ff2fbe8798b04e5924be3b7ca0b4 (patch) | |
tree | 2905b3462c0d4f162914a948dac6d1836ace4b77 /p2p/enr/enr_test.go | |
parent | dcae0d348bb7f5d9052e50a83383a33538ce376a (diff) | |
download | go-tangerine-6f607de5d590ff2fbe8798b04e5924be3b7ca0b4.tar go-tangerine-6f607de5d590ff2fbe8798b04e5924be3b7ca0b4.tar.gz go-tangerine-6f607de5d590ff2fbe8798b04e5924be3b7ca0b4.tar.bz2 go-tangerine-6f607de5d590ff2fbe8798b04e5924be3b7ca0b4.tar.lz go-tangerine-6f607de5d590ff2fbe8798b04e5924be3b7ca0b4.tar.xz go-tangerine-6f607de5d590ff2fbe8798b04e5924be3b7ca0b4.tar.zst go-tangerine-6f607de5d590ff2fbe8798b04e5924be3b7ca0b4.zip |
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.
Diffstat (limited to 'p2p/enr/enr_test.go')
-rw-r--r-- | p2p/enr/enr_test.go | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/p2p/enr/enr_test.go b/p2p/enr/enr_test.go index 9bf22478d..449c898a8 100644 --- a/p2p/enr/enr_test.go +++ b/p2p/enr/enr_test.go @@ -169,6 +169,18 @@ func TestDirty(t *testing.T) { } } +func TestSeq(t *testing.T) { + var r Record + + assert.Equal(t, uint64(0), r.Seq()) + r.Set(UDP(1)) + assert.Equal(t, uint64(0), r.Seq()) + signTest([]byte{5}, &r) + assert.Equal(t, uint64(0), r.Seq()) + r.Set(UDP(2)) + assert.Equal(t, uint64(1), r.Seq()) +} + // TestGetSetOverwrite tests value overwrite when setting a new value with an existing key in record. func TestGetSetOverwrite(t *testing.T) { var r Record |