protocol

package
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 30, 2018 License: LGPL-3.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

View Source
const (
	HeartbeatMsg      = 0x01 // 心跳
	StatusMsg         = 0x02 // 用于握手时发送/接收当前节点状态包括版本号,genesis的hash,current的hash等
	BlockHashesMsg    = 0x03 // block的hash集消息
	TxMsg             = 0x04
	GetBlocksMsg      = 0x05 // 获取区块集合消息
	GetSingleBlockMsg = 0x06 // 获取一个区块
	SingleBlockMsg    = 0x07 // 返回一个区块
	BlocksMsg         = 0x08 // 区块集消息
	NewBlockMsg       = 0x09 // 新的完整的block消息
	NewConfirmMsg     = 0x0a // 新区块确认消息
	GetConfirmInfoMsg = 0x0b // 获取确认包信息
	ConfirmInfoMsg    = 0x0c // 收到确信包信息
	// for find node
	FindNodeReqMsg = 0x0d // find node request message
	FindNodeResMsg = 0x0e // find node response message
)

lemo 协议 codes

View Source
const (
	ErrMsgTooLarge    = iota
	ErrDecode         // 解码错误
	ErrInvalidMsgCode // 不可用的消息code
	ErrInvalidMsg     // 消息内部出错
	ErrSendBlocks     // 发送区块到远程出错
	ErrNoBlocks       // 消息内没有区块数据
	ErrProtocolVersionMismatch
	// ErrNetworkIdMismatch
	ErrGenesisBlockMismatch
	ErrNoStatusMsg
	ErrExtraStatusMsg
	ErrSuspendedPeer
)

Variables

View Source
var ErrorToString = map[int]string{
	ErrMsgTooLarge:             "Message too long",
	ErrDecode:                  "Invalid message",
	ErrInvalidMsgCode:          "Invalid message code",
	ErrProtocolVersionMismatch: "Protocol version mismatch",

	ErrGenesisBlockMismatch: "Genesis block mismatch",
	ErrNoStatusMsg:          "No status message",
	ErrExtraStatusMsg:       "Extra status message",
	ErrSuspendedPeer:        "Suspended peer",
}

XXX change once legacy code is out

View Source
var ProtocolName = "lemo"

Functions

This section is empty.

Types

type BlockConfirmData

type BlockConfirmData struct {
	Hash     common.Hash    // 区块Hash
	Height   uint32         //区块高度
	SignInfo types.SignData // 签名信息
}

blockConfirmData 区块确认信息

type BlockConfirms

type BlockConfirms struct {
	Hash   common.Hash // 区块Hash
	Height uint32      //区块高度
	Pack   []types.SignData
}

BlockConfirms 某个区块的所有确认信息

type BlockHashesData

type BlockHashesData []struct {
	Hash   common.Hash
	Height uint32
}

BlockHashesData 新区块Hash数据

type ErrCode

type ErrCode int

func (ErrCode) String

func (e ErrCode) String() string

type FindNodeReqData added in v1.0.1

type FindNodeReqData struct {
	Sequence uint
}

for find node

type FindNodeResData added in v1.0.1

type FindNodeResData struct {
	Sequence uint
	Nodes    []string
}

for find node

type GetBlocksData

type GetBlocksData struct {
	From uint32
	To   uint32
}

getBlocksData 获取区块集

type GetConfirmInfo

type GetConfirmInfo struct {
	Hash   common.Hash
	Height uint32
}

getConfirmInfo 主动拉取确认包

type GetSingleBlockData

type GetSingleBlockData struct {
	Hash   common.Hash
	Height uint32
}

GetSingleBlockData 单独获取一个区块

type NodeStatusData

type NodeStatusData struct {
	ChainID       uint64
	CurrentHeight uint32
	CurrentBlock  common.Hash
	GenesisBlock  common.Hash
}

节点当前状态信息

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL