# Summary This package contains an abstraction over the storage backend of colossus. Its main purpose is to allow testing the storage subsystem without having to run a blockchain node. In the current version, the storage is backed by IPFS. In order to run tests, you have to also run an [IPFS node](https://dist.ipfs.io/#go-ipfs). ## Testing Note also that tests do not finish. This is due to a design flaw in the [IPFS HTTP Client](https://github.com/ipfs/js-ipfs-http-client/i) npm package. In that package, requests can seemingly never time out - this client library patches over this by using [bluebird's cancellable Promises](http://bluebirdjs.com/docs/api/cancellation.html), so that at least this package can provide a timeout. In the client library, however, that still leaves some dangling requests, meaning node cannot exit cleanly. For this reason, we're passing the `--exit` flag to `mocha` in the `test` script - run `yarn run test` and you should have a well behaving test suite. Run `mocha` directly, without this flag, and you may be disappointed.