I already run test apps online on a rinkeby test network and have a good understanding of how to dev and publish my apps on this particular blockchain.
HOWEVER, I have been in trouble understanding the basics of the real blockchain use, and have therefore a few questions.
If I want to publish a smart contract to the ethereum blockchain, I need to do it via a server that has a node running on it? or will truffle be enough to deploy it?
When running a Dapp that uses ethereum blockchain, would that be enough if my users use metamask without a local node running on my server? Or would I still need a local ethereum node locally?