diff options
author | Determinant <[email protected]> | 2019-10-21 14:47:51 -0400 |
---|---|---|
committer | Determinant <[email protected]> | 2019-10-21 14:47:51 -0400 |
commit | 79b1169a9ff0b54ddf3b520a70a79c78ba5c988d (patch) | |
tree | 13fc62be3ebf344544547eeb9979450a3c6ecd40 /eth/enr_entry.go | |
parent | 913e9439a7c7883881895ee597a0cc464fb92353 (diff) |
customize Blockchain code
Diffstat (limited to 'eth/enr_entry.go')
-rw-r--r-- | eth/enr_entry.go | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/eth/enr_entry.go b/eth/enr_entry.go deleted file mode 100644 index d50328c..0000000 --- a/eth/enr_entry.go +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright 2019 The go-ethereum Authors -// This file is part of the go-ethereum library. -// -// The go-ethereum library is free software: you can redistribute it and/or modify -// it under the terms of the GNU Lesser General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// The go-ethereum library 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 Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with the go-ethereum library. If not, see <http://www.gnu.org/licenses/>. - -package eth - -import ( - "github.com/ava-labs/go-ethereum/core" - "github.com/ava-labs/go-ethereum/core/forkid" - "github.com/ava-labs/go-ethereum/p2p/enode" - "github.com/ava-labs/go-ethereum/rlp" -) - -// ethEntry is the "eth" ENR entry which advertises eth protocol -// on the discovery network. -type ethEntry struct { - ForkID forkid.ID // Fork identifier per EIP-2124 - - // Ignore additional fields (for forward compatibility). - Rest []rlp.RawValue `rlp:"tail"` -} - -// ENRKey implements enr.Entry. -func (e ethEntry) ENRKey() string { - return "eth" -} - -func (eth *Ethereum) startEthEntryUpdate(ln *enode.LocalNode) { - var newHead = make(chan core.ChainHeadEvent, 10) - sub := eth.blockchain.SubscribeChainHeadEvent(newHead) - - go func() { - defer sub.Unsubscribe() - for { - select { - case <-newHead: - ln.Set(eth.currentEthEntry()) - case <-sub.Err(): - // Would be nice to sync with eth.Stop, but there is no - // good way to do that. - return - } - } - }() -} - -func (eth *Ethereum) currentEthEntry() *ethEntry { - return ðEntry{ForkID: forkid.NewID(eth.blockchain)} -} |