When you connect to another node, it saves your IP in its internal list. Any node can request this list from another node. In this way your client can discover other nodes. Client application saves list of nodes to disk. On the next startup you have hardcoded nodes and nodes you were connected last time. Some nodes may be offline, but this is ok. Crypto Wallet Case study There are a few alternative implementations of full blockchain bitcoin clients, built using different programming languages and software architectures. However, the most common implementation is the reference client Bitcoin Core, also known as the Satoshi client. More than 90% of the nodes on the bitcoin network run various versions of Bitcoin Core. It is identified as “Satoshi” in the sub-version string sent in the version message and shown by the command getpeerinfo as we saw earlier; for example, /Satoshi:0.8.6/.
Bitcoin. "Bitcoin: A Peer-to-Peer Electronic Cash System," Page 1. P2P Cryptocurrency Exchange Development Process The underlying network of Bitcoin and, in general, of permissionless blockchains is an unstructured peer-to-peer network. The reference implementation of a Bitcoin client requires a participant to create at least eight connections. Blocks and transactions are broadcast throughout the network by forwarding them through all existing connections. Connected nodes in turn forward to their neighbours.