MCPcopy Create free account
hub / github.com/DeAI-Artist/Linkis / makeNodeInfo

Function makeNodeInfo

node/node.go:1322–1383  ·  view source on GitHub ↗
(
	config *cfg.Config,
	nodeKey *p2p.NodeKey,
	txIndexer txindex.TxIndexer,
	genDoc *types.GenesisDoc,
	state sm.State,
)

Source from the content-addressed store, hash-verified

1320}
1321
1322func makeNodeInfo(
1323 config *cfg.Config,
1324 nodeKey *p2p.NodeKey,
1325 txIndexer txindex.TxIndexer,
1326 genDoc *types.GenesisDoc,
1327 state sm.State,
1328) (p2p.DefaultNodeInfo, error) {
1329 txIndexerStatus := "on"
1330 if _, ok := txIndexer.(*null.TxIndex); ok {
1331 txIndexerStatus = "off"
1332 }
1333
1334 var bcChannel byte
1335 switch config.FastSync.Version {
1336 case "v0":
1337 bcChannel = bcv0.BlockchainChannel
1338 case "v1":
1339 bcChannel = bcv1.BlockchainChannel
1340 case "v2":
1341 bcChannel = bcv2.BlockchainChannel
1342 default:
1343 return p2p.DefaultNodeInfo{}, fmt.Errorf("unknown fastsync version %s", config.FastSync.Version)
1344 }
1345
1346 nodeInfo := p2p.DefaultNodeInfo{
1347 ProtocolVersion: p2p.NewProtocolVersion(
1348 version.P2PProtocol, // global
1349 state.Version.Consensus.Block,
1350 state.Version.Consensus.App,
1351 ),
1352 DefaultNodeID: nodeKey.ID(),
1353 Network: genDoc.ChainID,
1354 Version: version.TMCoreSemVer,
1355 Channels: []byte{
1356 bcChannel,
1357 cs.StateChannel, cs.DataChannel, cs.VoteChannel, cs.VoteSetBitsChannel,
1358 mempl.MempoolChannel,
1359 evidence.EvidenceChannel,
1360 statesync.SnapshotChannel, statesync.ChunkChannel,
1361 },
1362 Moniker: config.Moniker,
1363 Other: p2p.DefaultNodeInfoOther{
1364 TxIndex: txIndexerStatus,
1365 RPCAddress: config.RPC.ListenAddress,
1366 },
1367 }
1368
1369 if config.P2P.PexReactor {
1370 nodeInfo.Channels = append(nodeInfo.Channels, pex.PexChannel)
1371 }
1372
1373 lAddr := config.P2P.ExternalAddress
1374
1375 if lAddr == "" {
1376 lAddr = config.P2P.ListenAddress
1377 }
1378
1379 nodeInfo.ListenAddr = lAddr

Callers 1

NewNodeFunction · 0.70

Calls 3

ValidateMethod · 0.95
NewProtocolVersionFunction · 0.92
IDMethod · 0.65

Tested by

no test coverage detected