How minted blocks get propagated into the cardano network


I am trying to setup a stake pool, and I would really appreciate if anyone can explain how blocks are propagated throughout the cardano network.

I’ve heard that blocks are propagated in a “pull” manner. Correct me please if I have a wrong understanding.

If it is indeed using a pull-based propagation. This leads me to believe that my block producing node creates a block, and my relay nodes pull the latest block from the BP node.

Does this mean that other relay nodes must specify my relay node addresses in their topology file for my minted blocks to be pulled into their relay nodes?

Or, is it sufficient for my relay nodes to include other people’s relay nodes in my topology configuration?

Thanks for reading guys.

The BP will propagate the block so it needs to have connectivity with the public network via relays:

  • the BP should be connected only to your relays (security reason)
  • the relays should be connected to your BP and also to the other nodes (public network)

Yes, that is the case and at the same time the reason for use of the topologyupdater script.

1 Like

Hi @Triton-pool ,

Thanks for the kind reply.

I heard all cardano node-to-node communications are pull-based protocols.
Transaction propagation seems to be similar to block propagation.

Would you know how Daedalus propagates a client’s signed transaction to propagate through the network?
Even though Daedalus runs a full node locally, there seem to be no way for other public relay nodes to connect to my local node and pull in my signed transaction since my local node is behind a private subnet.

Does Daedalus submit a web API request or somesort to another public relay node similar to Yoroi?

I do not know anything about the Daedalus I am affraid.