github.com/turingchain2020/turingchain@v1.1.21/system/p2p/dht/types/types.go (about)

     1  // Copyright Turing Corp. 2018 All Rights Reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  // Package types 外部公用类型
     6  package types
     7  
     8  // P2PSubConfig p2p 子配置
     9  type P2PSubConfig struct {
    10  	// P2P服务监听端口号
    11  	Port int32 `protobuf:"varint,1,opt,name=port" json:"port,omitempty"`
    12  	// 手动配置节点
    13  	Seeds []string `protobuf:"bytes,2,rep,name=seeds" json:"seeds,omitempty"`
    14  	//交易开始采用哈希广播的ttl
    15  	LightTxTTL int32 `protobuf:"varint,3,opt,name=lightTxTTL" json:"lightTxTTL,omitempty"`
    16  	// 最大传播ttl, ttl达到该值将停止继续向外发送
    17  	MaxTTL int32 `protobuf:"varint,4,opt,name=maxTTL" json:"maxTTL,omitempty"`
    18  	// p2p网络频道,用于区分主网/测试网/其他网络
    19  
    20  	Channel int32 `protobuf:"varint,5,opt,name=channel" json:"channel,omitempty"`
    21  	//区块轻广播的最低区块大小,单位KB, 大于该值时区块内交易采用短哈希广播
    22  	MinLtBlockSize int32 `protobuf:"varint,6,opt,name=minLtBlockSize" json:"minLtBlockSize,omitempty"`
    23  	//最大dht连接数
    24  	MaxConnectNum int32 `protobuf:"varint,7,opt,name=maxConnectNum" json:"maxConnectNum,omitempty"`
    25  	//引导节点配置
    26  	BootStraps []string `protobuf:"bytes,8,rep,name=bootStraps" json:"bootStraps,omitempty"`
    27  	//轻广播本地区块缓存大小, 单位M
    28  	LtBlockCacheSize int32 `protobuf:"varint,9,opt,name=ltBlockCacheSize" json:"ltBlockCacheSize,omitempty"`
    29  
    30  	//中继传输主动建立连接,中继服务端可以选配,启动中继服务之后,NAT后面的节点可以通过中继节点广播自己的节点地址信息
    31  
    32  	RelayHop            bool   `protobuf:"varint,10,opt,name=relayHop" json:"relayHop,omitempty"`
    33  	DisableFindLANPeers bool   `protobuf:"varint,11,opt,name=disableFindLANPeers" json:"disableFindLANPeers,omitempty"`
    34  	DHTDataPath         string `protobuf:"bytes,12,opt,name=DHTDataPath" json:"DHTDataPath,omitempty"`
    35  	DHTDataCache        int32  `protobuf:"varint,13,opt,name=DHTDataCache" json:"DHTDataCache,omitempty"`
    36  	// 分片数据备份节点数
    37  	Backup int `protobuf:"varint,14,opt,name=backup" json:"backup,omitempty"`
    38  	//是否开启全节点模式
    39  	IsFullNode bool `protobuf:"varint,15,opt,name=isFullNode" json:"isFullNode,omitempty"`
    40  	//老版本最大广播节点数
    41  	MaxBroadcastPeers int `protobuf:"varint,16,opt,name=maxBroadcastPeers" json:"maxBroadcastPeers,omitempty"`
    42  	//pub sub消息是否需要签名和验签
    43  	DisablePubSubMsgSign bool `protobuf:"varint,17,opt,name=disablePubSubMsgSign" json:"disablePubSubMsgSign,omitempty"`
    44  	//是否启用中继功能,如果自己身NAT后面的节点,RelayEnable=true,则仍有可能被其他节点连接。
    45  	RelayEnable bool `protobuf:"varint,18,opt,name=relayEnable" json:"relayEnable,omitempty"`
    46  	//指定中继节点作为
    47  	RelayNodeAddr []string `protobuf:"varint,19,opt,name=relayNodeAddr" json:"relayNodeAddr,omitempty"`
    48  	// 不启动分片功能,默认启动
    49  	DisableShard bool `protobuf:"varint,120,opt,name=disableShard" json:"disableShard,omitempty"`
    50  	//特定场景下的p2p白名单,只连接配置的节点,联盟链使用
    51  	WhitePeerList []string `protobuf:"bytes,21,rep,name=whitePeerList" json:"whitePeerList,omitempty"`
    52  }