I keep reading that "your own client node" gets the transaction first but what if you're not running your own node? Let's see I place I place an order to buy or sell on Uniswap, Sushiswap etc. Are those routers connected to their own nodes which would be the first to get the transaction and broadcast it out to peers? If so, how do we know what the location of those nodes are. If we do set up our own nodes, how can be ensure that we're a peer of their nodes?
2 Answers
A transaction goes to "your node" which then broadcasts it to peers. Through gossip protocol, all nodes eventually hear that you want the transaction included in a block. Ultimately a miner probably includes the transaction.
MetaMask, other wallets and other participants use node-as-a-service implementations that provide a node service on an ip and port so that the user doesn't need a node of their own.
Descriptions get a little convoluted because the Ethereum and app architecture can be approached with different implementation options. "Your node" can indeed be something you choose to run, or it be could be something you just use, possibly without knowing it.
Hope it helps
-
in case of a trading on a DEX, what would "your node" refer to? Commented Aug 30, 2021 at 2:33
-
Depends entirely on you. If you are using their user interface, your browser and metamask, then you are using Infura, infura.io. Infura is the infrastructure for metamask. The infrastructure itself for any developer that wants to use it for, say, a server or their own wallet. It means the user will not be required to have their own node, either the software or the implicit requirement to sync up. Commented Aug 30, 2021 at 7:12
Like Rob Mentioned, the chosen node depends on the Dapp you're using to send the transaction, if you're using Metamask for example, since they use node-as-a-serve e.g Alchemy, Infura, Pocket e.t.c, your transaction gets to those nodes first then they gossip about it to the other nodes, if you're using another interface and they're running their own Geth node for example, your transaction goes to that Geth node and then gets broadcasted to the network, and if they happen to be a miner, they can include the transaction too.