How to broadcast a transaction to the Bitcoin Peer-to-peer network?
Let’s say a developer wants to broadcast transactions from their app directly to the P2P network (not using RPC calls). How would this be done? I assume a TCP/IP connection needs to be established to one of the active nodes. What follows after that? Which messages need to be exchanged (examples would be very welcome)? Can connection be closed after the broadcast or should the app maintain its connection?
Bonus question: How to discover other nodes and broadcast the transaction to multiple peers in parallel?
Is there any curated list of the IP addresses of the nodes that belong to major miners?
EDIT: It is true that Merchant API will be the way to go when available (it is not at the moment) and that using APIs such as Matter Cloud or What’s on chain is the easiest way to do it right now. But this question is more about understanding how Bitcoin’s server network works. It is an interesting piece of technology. It might also be useful for someone - API providers need to deliver transactions to miners at some point after all.
With that said; this question remains open and bounty still waiting for the right response.