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?


Deployment: You can use truffle to deploy to mainnet, but you'll need to connect truffle to a node which is connected to mainnet. The easiest way is to have a node and truffle running on the same machine.

DAPP: If the user is using Metamask, he'll already have a connection to the network, so there is no need for you to provide a node. If your user has no local node, you could do the signing of transactions at the client side in your App and offer a server with a node for delegating signed transactions to the network (similar to myethereumwallet).

| improve this answer | |
  • Thank you, confirms my thoughts. But then, if I have a active node on my server and the user doesn't use metamask, how can he interract and for example pay the gas for transactions? Seems like there is no way I could certify he owns an account.. – mikegross Feb 20 '18 at 5:57
  • An account ist just a private/public keypair, which you can and should generate on the client side for the user. The user can transfer ether to his own address for interacting with your dapp. The main point is that the private key of the user should always stay with the user. Your server shouldn‘t manage the keys. Otherwise you‘re back from DAPP to a classic Client/Server Setup. – ivicaa Feb 20 '18 at 7:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.