Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
N
nebula
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
exchain
nebula
Commits
e75369bb
Unverified
Commit
e75369bb
authored
Dec 08, 2022
by
Michael de Hoog
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Rename chain to opstack
parent
0f83dda8
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
14 additions
and
14 deletions
+14
-14
discovery.go
op-node/p2p/discovery.go
+13
-13
prepared.go
op-node/p2p/prepared.go
+1
-1
No files found.
op-node/p2p/discovery.go
View file @
e75369bb
...
@@ -75,7 +75,7 @@ func (conf *Config) Discovery(log log.Logger, rollupCfg *rollup.Config, tcpPort
...
@@ -75,7 +75,7 @@ func (conf *Config) Discovery(log log.Logger, rollupCfg *rollup.Config, tcpPort
}
else
{
}
else
{
return
nil
,
nil
,
fmt
.
Errorf
(
"no TCP port to put in discovery record"
)
return
nil
,
nil
,
fmt
.
Errorf
(
"no TCP port to put in discovery record"
)
}
}
dat
:=
Chain
ENRData
{
dat
:=
OpStack
ENRData
{
chainID
:
rollupCfg
.
L2ChainID
.
Uint64
(),
chainID
:
rollupCfg
.
L2ChainID
.
Uint64
(),
version
:
0
,
version
:
0
,
}
}
...
@@ -167,18 +167,18 @@ func enrToAddrInfo(r *enode.Node) (*peer.AddrInfo, *crypto.Secp256k1PublicKey, e
...
@@ -167,18 +167,18 @@ func enrToAddrInfo(r *enode.Node) (*peer.AddrInfo, *crypto.Secp256k1PublicKey, e
},
pub
,
nil
},
pub
,
nil
}
}
// The discovery ENRs are just key-value lists, and we filter them by records tagged with the "
chain
" key,
// The discovery ENRs are just key-value lists, and we filter them by records tagged with the "
opstack
" key,
// and then check the chain ID and version.
// and then check the chain ID and version.
type
Chain
ENRData
struct
{
type
OpStack
ENRData
struct
{
chainID
uint64
chainID
uint64
version
uint64
version
uint64
}
}
func
(
o
*
Chain
ENRData
)
ENRKey
()
string
{
func
(
o
*
OpStack
ENRData
)
ENRKey
()
string
{
return
"
chain
"
return
"
opstack
"
}
}
func
(
o
*
Chain
ENRData
)
EncodeRLP
(
w
io
.
Writer
)
error
{
func
(
o
*
OpStack
ENRData
)
EncodeRLP
(
w
io
.
Writer
)
error
{
out
:=
make
([]
byte
,
2
*
binary
.
MaxVarintLen64
)
out
:=
make
([]
byte
,
2
*
binary
.
MaxVarintLen64
)
offset
:=
binary
.
PutUvarint
(
out
,
o
.
chainID
)
offset
:=
binary
.
PutUvarint
(
out
,
o
.
chainID
)
offset
+=
binary
.
PutUvarint
(
out
[
offset
:
],
o
.
version
)
offset
+=
binary
.
PutUvarint
(
out
[
offset
:
],
o
.
version
)
...
@@ -187,13 +187,13 @@ func (o *ChainENRData) EncodeRLP(w io.Writer) error {
...
@@ -187,13 +187,13 @@ func (o *ChainENRData) EncodeRLP(w io.Writer) error {
return
rlp
.
Encode
(
w
,
out
)
return
rlp
.
Encode
(
w
,
out
)
}
}
func
(
o
*
Chain
ENRData
)
DecodeRLP
(
s
*
rlp
.
Stream
)
error
{
func
(
o
*
OpStack
ENRData
)
DecodeRLP
(
s
*
rlp
.
Stream
)
error
{
b
,
err
:=
s
.
Bytes
()
b
,
err
:=
s
.
Bytes
()
if
err
!=
nil
{
if
err
!=
nil
{
return
fmt
.
Errorf
(
"failed to decode outer ENR entry: %w"
,
err
)
return
fmt
.
Errorf
(
"failed to decode outer ENR entry: %w"
,
err
)
}
}
// We don't check the byte length: the below readers are limited, and the ENR itself has size limits.
// We don't check the byte length: the below readers are limited, and the ENR itself has size limits.
// Future "op
timism
" entries may contain additional data, and will be tagged with a newer version etc.
// Future "op
stack
" entries may contain additional data, and will be tagged with a newer version etc.
r
:=
bytes
.
NewReader
(
b
)
r
:=
bytes
.
NewReader
(
b
)
chainID
,
err
:=
binary
.
ReadUvarint
(
r
)
chainID
,
err
:=
binary
.
ReadUvarint
(
r
)
if
err
!=
nil
{
if
err
!=
nil
{
...
@@ -208,15 +208,15 @@ func (o *ChainENRData) DecodeRLP(s *rlp.Stream) error {
...
@@ -208,15 +208,15 @@ func (o *ChainENRData) DecodeRLP(s *rlp.Stream) error {
return
nil
return
nil
}
}
var
_
enr
.
Entry
=
(
*
Chain
ENRData
)(
nil
)
var
_
enr
.
Entry
=
(
*
OpStack
ENRData
)(
nil
)
func
FilterEnodes
(
log
log
.
Logger
,
cfg
*
rollup
.
Config
)
func
(
node
*
enode
.
Node
)
bool
{
func
FilterEnodes
(
log
log
.
Logger
,
cfg
*
rollup
.
Config
)
func
(
node
*
enode
.
Node
)
bool
{
return
func
(
node
*
enode
.
Node
)
bool
{
return
func
(
node
*
enode
.
Node
)
bool
{
var
dat
Chain
ENRData
var
dat
OpStack
ENRData
err
:=
node
.
Load
(
&
dat
)
err
:=
node
.
Load
(
&
dat
)
// if the entry does not exist, or if it is invalid, then ignore the node
// if the entry does not exist, or if it is invalid, then ignore the node
if
err
!=
nil
{
if
err
!=
nil
{
log
.
Debug
(
"discovered node record has no
chain
info"
,
"node"
,
node
.
ID
(),
"err"
,
err
)
log
.
Debug
(
"discovered node record has no
opstack
info"
,
"node"
,
node
.
ID
(),
"err"
,
err
)
return
false
return
false
}
}
// check chain ID matches
// check chain ID matches
...
@@ -347,7 +347,7 @@ func (n *NodeP2P) DiscoveryProcess(ctx context.Context, log log.Logger, cfg *rol
...
@@ -347,7 +347,7 @@ func (n *NodeP2P) DiscoveryProcess(ctx context.Context, log log.Logger, cfg *rol
log
.
Info
(
"stopped peer discovery"
)
log
.
Info
(
"stopped peer discovery"
)
return
// no ctx error, expected close
return
// no ctx error, expected close
case
found
:=
<-
randomNodesCh
:
case
found
:=
<-
randomNodesCh
:
var
dat
Chain
ENRData
var
dat
OpStack
ENRData
if
err
:=
found
.
Load
(
&
dat
);
err
!=
nil
{
// we already filtered on chain ID and version
if
err
:=
found
.
Load
(
&
dat
);
err
!=
nil
{
// we already filtered on chain ID and version
continue
continue
}
}
...
@@ -362,7 +362,7 @@ func (n *NodeP2P) DiscoveryProcess(ctx context.Context, log log.Logger, cfg *rol
...
@@ -362,7 +362,7 @@ func (n *NodeP2P) DiscoveryProcess(ctx context.Context, log log.Logger, cfg *rol
// Tag the peer, we'd rather have the connection manager prune away old peers,
// Tag the peer, we'd rather have the connection manager prune away old peers,
// or peers on different chains, or anyone we have not seen via discovery.
// or peers on different chains, or anyone we have not seen via discovery.
// There is no tag score decay yet, so just set it to 42.
// There is no tag score decay yet, so just set it to 42.
n
.
ConnectionManager
()
.
TagPeer
(
info
.
ID
,
fmt
.
Sprintf
(
"
chain
-%d-%d"
,
dat
.
chainID
,
dat
.
version
),
42
)
n
.
ConnectionManager
()
.
TagPeer
(
info
.
ID
,
fmt
.
Sprintf
(
"
opstack
-%d-%d"
,
dat
.
chainID
,
dat
.
version
),
42
)
log
.
Debug
(
"discovered peer"
,
"peer"
,
info
.
ID
,
"nodeID"
,
found
.
ID
(),
"addr"
,
info
.
Addrs
[
0
])
log
.
Debug
(
"discovered peer"
,
"peer"
,
info
.
ID
,
"nodeID"
,
found
.
ID
(),
"addr"
,
info
.
Addrs
[
0
])
case
<-
connectTicker
.
C
:
case
<-
connectTicker
.
C
:
connected
:=
n
.
Host
()
.
Network
()
.
Peers
()
connected
:=
n
.
Host
()
.
Network
()
.
Peers
()
...
...
op-node/p2p/prepared.go
View file @
e75369bb
...
@@ -47,7 +47,7 @@ func (p *Prepared) Host(log log.Logger, reporter metrics.Reporter) (host.Host, e
...
@@ -47,7 +47,7 @@ func (p *Prepared) Host(log log.Logger, reporter metrics.Reporter) (host.Host, e
// Discovery creates a disc-v5 service. Returns nil, nil, nil if discovery is disabled.
// Discovery creates a disc-v5 service. Returns nil, nil, nil if discovery is disabled.
func
(
p
*
Prepared
)
Discovery
(
log
log
.
Logger
,
rollupCfg
*
rollup
.
Config
,
tcpPort
uint16
)
(
*
enode
.
LocalNode
,
*
discover
.
UDPv5
,
error
)
{
func
(
p
*
Prepared
)
Discovery
(
log
log
.
Logger
,
rollupCfg
*
rollup
.
Config
,
tcpPort
uint16
)
(
*
enode
.
LocalNode
,
*
discover
.
UDPv5
,
error
)
{
if
p
.
LocalNode
!=
nil
{
if
p
.
LocalNode
!=
nil
{
dat
:=
Chain
ENRData
{
dat
:=
OpStack
ENRData
{
chainID
:
rollupCfg
.
L2ChainID
.
Uint64
(),
chainID
:
rollupCfg
.
L2ChainID
.
Uint64
(),
version
:
0
,
version
:
0
,
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment