aboutsummaryrefslogtreecommitdiffstats
path: root/dex/protocol.go
diff options
context:
space:
mode:
authorSonic <sonic@cobinhood.com>2018-09-19 19:07:10 +0800
committerWei-Ning Huang <w@dexon.org>2019-04-09 21:32:48 +0800
commitec3ec5ab2c3681dd7578c9e5b35184177bc06dec (patch)
treefb3fe73f14969ad20f4d47e5bb73c54cd7af6ba3 /dex/protocol.go
parent959f70572cd688ccc6fd3e48fec94a73847f08f3 (diff)
downloadgo-tangerine-ec3ec5ab2c3681dd7578c9e5b35184177bc06dec.tar
go-tangerine-ec3ec5ab2c3681dd7578c9e5b35184177bc06dec.tar.gz
go-tangerine-ec3ec5ab2c3681dd7578c9e5b35184177bc06dec.tar.bz2
go-tangerine-ec3ec5ab2c3681dd7578c9e5b35184177bc06dec.tar.lz
go-tangerine-ec3ec5ab2c3681dd7578c9e5b35184177bc06dec.tar.xz
go-tangerine-ec3ec5ab2c3681dd7578c9e5b35184177bc06dec.tar.zst
go-tangerine-ec3ec5ab2c3681dd7578c9e5b35184177bc06dec.zip
dex: introduce dex64 and remove eth62, eth63
Diffstat (limited to 'dex/protocol.go')
-rw-r--r--dex/protocol.go34
1 files changed, 29 insertions, 5 deletions
diff --git a/dex/protocol.go b/dex/protocol.go
index de6354717..6452d854a 100644
--- a/dex/protocol.go
+++ b/dex/protocol.go
@@ -20,28 +20,30 @@ import (
"fmt"
"io"
"math/big"
+ "net"
+ "github.com/dexon-foundation/dexon/crypto/sha3"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/core"
"github.com/ethereum/go-ethereum/core/types"
"github.com/ethereum/go-ethereum/event"
+ "github.com/ethereum/go-ethereum/p2p/discover"
"github.com/ethereum/go-ethereum/rlp"
)
// Constants to match up protocol versions and messages
const (
- eth62 = 62
- eth63 = 63
+ dex64 = 64
)
// ProtocolName is the official short name of the protocol used during capability negotiation.
-var ProtocolName = "eth"
+var ProtocolName = "dex"
// ProtocolVersions are the upported versions of the eth protocol (first is primary).
-var ProtocolVersions = []uint{eth63, eth62}
+var ProtocolVersions = []uint{dex64}
// ProtocolLengths are the number of implemented message corresponding to different protocol versions.
-var ProtocolLengths = []uint64{17, 8}
+var ProtocolLengths = []uint64{18}
const ProtocolMaxMsgSize = 10 * 1024 * 1024 // Maximum cap on the size of a protocol message
@@ -62,6 +64,9 @@ const (
NodeDataMsg = 0x0e
GetReceiptsMsg = 0x0f
ReceiptsMsg = 0x10
+
+ // Protocol messages belonging to dex/64
+ NotaryNodeInfoMsg = 0x11
)
type errCode int
@@ -181,3 +186,22 @@ type blockBody struct {
// blockBodiesData is the network packet for block content distribution.
type blockBodiesData []*blockBody
+
+// TODO(sonic): revisit this msg when dexon core SDK is finalized.
+// notartyNodeInfo is the network packet for notary node ip info.
+type notaryNodeInfo struct {
+ ID discover.NodeID
+ IP net.IP
+ UDP uint16
+ TCP uint16
+ Round uint64
+ Sig []byte
+ Timestamp int64
+}
+
+func (n *notaryNodeInfo) Hash() (h common.Hash) {
+ hw := sha3.NewKeccak256()
+ rlp.Encode(hw, n)
+ hw.Sum(h[:0])
+ return h
+}