I've just downloaded Mist (the Ethereum wallet) and am waiting for all blocks to download. I'm on the test network and its been 24 hours with only 50% of the blocks downloaded.

My question is, if one had to build a distributed app using Solidity and Ethereum would all users have to download all the blocks in the network? i.e. wait 48 hours before they could use the app.

I couldn't find anything on Google so this is obviously a really dumb question... but I had to ask anyway.


You can interact with the Ethereum blockchain (without downloading all the blocks in the network) using Metamask https://metamask.io/

MetaMask is a bridge that allows you to visit the distributed web of tomorrow in your browser today. It allows you to run Ethereum dApps right in your browser without running a full Ethereum node.


you can use https://wallet.ethereum.org/ install geth "Important" you can see command line after open above link, copy the the command and run it on geth


The proposed methods are not decentralized so I will give one more answer, since it seems you are fishing for something more theoretical.

The short answer to your question is no, you do not have to download all the blocks in the blockchain to be able to use a Dapp built in Solidity, however you do have to be up to date.

Basically, when people start up an Ethereum node it will generally not download most the entire blockchain but leave some "archival files" to be downloaded only on a as needed basis. This makes updating a node much faster.

Work right now is being done on a light client for Ethereum that will be used for low-bandwidth environments (like mobile devices). In a light client, the only thing downloaded to local storage are the block headers for every block, which significantly reduces startup time and storage. Then, more information can be grabbed from full nodes when particulars for a block are needed.

The point of downloading all the block headers is that basically you can verify that any transaction is valid and included in a block based on the headers with a high probability of success.

Hope this helps!


Yeah, Ethereum Dapps can work without downloading the whole blockchain, But in place of that what it needs is a wallet and a provider.

A wallet is a piece of software which keeps the record of your account details in an encrypted manner which tracks the transactions done in the Dapp and interacts with the main chain, which is needed to be connected with the provider.

For wallet Metamask can be used and you can make your own wallet also (beware of security concerns ). Under the hood, Metamask uses a Provider named Infura which provides an API for interacting with the chain.

Hope this makes any sense

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.