In our discussions of Ethereum so far, it should have become clear that using the Ethereum blockchain to store large amounts of data is neither cost-effective, nor what it was designed for. Storing information in the blockchain means storing it as state data, and doing so requires payment in the form of gas.
In this chapter, we will look at ways that data can be stored in a distributed manner by way of two different platforms: IPFS and Swarm. After introducing both platforms, we will describe how to install and make basic use of them, and demonstrate how both can be used to host the ICO DApp we created in Chapter 8, Creating an ICO. Finally, we will create a small project to help us become familiar with how IPFS can be used programmatically in a website frontend.