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?