How do Blockstack nodes discover each other?

A slack community member asks:

How do blockstack nodes discover and connect to other nodes?

To generate the name database, the list of names that are registered in the system and the value hashes to which they point, Blockstack nodes do not need to connect to other nodes. They can generate this database independently from a full bitcoin node.

Retrieving the zone file for a name happens via the Atlas peer to peer network. This is done by querying Atlas with a value hash from the name database. The Atlas network is a peer to peer network that replicates the entire set of zone files across all nodes.

The Atlas component of a Blockstack node does require discovery of and connection to other nodes in the network. It does so by bootstrapping from a node address hardcoded in the source code by asking it for a peer list to build its own peer list. It then exchanges that peer list with other nodes that try to connect to it.

1 Like

Might be interesting, @jude wrote a script that traverses the current Atlas network:


There’s also a pretty visualization of the network in this repository.

@larry
If Blockstack nodes do not need to connect to other nodes,how can user from one blockstack node send realtime message to the blockstack node which he wanna?

@jude
I have installed the Atlas visualization app but while I thought that I had an active node running, it doesn’t show up on the map (there is none in or near my city).

How can I check through the command line whether my blockstack-core server is actually discoverable by other nodes in the network?

@jude hope you have a minute to look at this :slight_smile:

Any updates on this?

Hey @blockpac, have you seen this document? https://github.com/blockstack/blockstack-core/blob/master/docs/atlas_network.md

Donde pongo ese archivo?