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 }