# Powergate

The Powergate is a multitiered storage solution that stores data with IPFS (“Hot” storage layer) and Filecoin (“Cold” storage layer). Powergate exposes higher-level APIs for developers that facilitate easier interaction with IPFS and Filecoin nodes. Powergate also handles wallet management, long-term deal management, and provides many features that improve the overall experience of being a storage client on Filecoin.

From the Textile docs:

Powergate is a collection of libraries, modules, and configurations that can be used independently, and composed together to integrate Filecoin into your application or storage system. The Powergate is designed to manage one or many Filecoin wallet addresses. Each address in Powergate can be independently managed through the FFS API (or grouped together into a single FFS instance). Some benefits of using the Powergate include:

  • Ensure data stored on Filecoin is available on the IPFS network easily.
  • Handle long-term storage deal management, including automated renew and repair.
  • Make use of network indices to improve miner selection and deal creation.
  • Manage Filecoin wallet addresses for one or many users.
  • Easily configure, connect, and deploy Powergate, Lotus, and IPFS together.
  • Much more!

Powergate is the recommended solution for developers who want an easier interface and better performance from Filecoin, but who prefer to manage their own nodes. For most developers, we recommend using an FPS. For very low-level or advanced developers, you can integrate lotus directly into your application.

The Powergate project is built and maintained by Textile. You can see the full Powergate docs.

# How to use Powergate

There are many ways to interact with the Powergate. These pathways are well-documented on Textile’s Powergate docs. The high-level pathways are summarized here for a quick reference:

  • Powergate CLI: You can install, run, and interact directly with the Powergate CLI.
  • Powergate JS API: If you would like to use Powergate in your JS application, you can use the Powergate JS Client.
  • Powergate Go API: If you would like to use Powergate in your Go application, you can use the Powergate Go Client.

TIP

Sometimes the best way to learn is through examples.

# How Powergate works

Powergate can be configured to work with any IPFS or Filecoin node (whether local or remote), as long as the configured nodes expose the expected APIs. Additionally, Powergate itself can be run on your local machine (easiest installation is through Docker) or hosted in the cloud as the storage backend for your application.

This diagram shows the high-level architecture of the Powergate binary. Powergate embeds a Lotus and IPFS node (go-ipfs), which interact with the Filecoin Network and IPFS Network respectively. Powergate also includes modules that maintain Filecoin deals and indices of miner reputation. Powergate functionality is accessible via its gRPC APIs.
Source: Filecoin Developer Tools

For a more detailed description of how Powergate works, we recommend reading the following docs: