HTTP Retrieval
How to configure and use HTTP retrievals in Boost
Last updated
How to configure and use HTTP retrievals in Boost
Last updated
Boost introduced a new binary, booster-http
, with release v1.2.0. This binary can be run alongside the boostd
market process in order to serve retrievals over http.
Currently, there is no payment method or built-in security integrated in the new binary. It can be run with any stable release of boostd
and can also be run on a separate machine from the boostd
process.
Release v1.7.0-rc1 introduced support in booster-http
for running an , which enables Storage Providers to serve content to their users in multiple formats as described below and demonstrated using curl
.
When performing certain actions, such as replicating deals, it can be convenient to retrieve the entire Piece (with padding) to ensure commp integrity.
To return the CAR file for a given CID, you can pass an Accept
header with the application/vnd.ipld.car;
format. This can be useful for retrieving the raw, unpadded data of a deal.
For Storage Providers that have enabled serving raw files (disabled by default), users can retrieve specific files, such as images by their cid and path where applicable. See for a more in depth example.
For advanced IPFS and IPLD use cases, you can now retrieve individual blocks by passing an Accept
header with the application/vnd.ipld.raw;
format
SPs should try a local setup and test their HTTP retrievals before proceeding to run booster-http
in production.
To build and run booster-http
:
Clone the boost repo and checkout the latest release
Build the new binary
Collect the token information for boost, lotus-miner and lotus daemon API
Start the booster-http
server with the above details
SSL
Authentication
Load balancing
To enable public discovery of the Boost HTTP server, SPs should set the domain root in boostd's config.toml
. Under the [DealMaking]
section, set HTTPRetrievalMultiaddr
to the public domain root in multi-address format.
Example config.toml
section:
Clients can determine if an SP offers HTTP retrieval by running:
Clients can check the HTTP URL scheme version and supported queries
Clients can download a piece using the domain root configured by the SP:
The booster-http server listens on localhost. To expose the server publically, SPs should run a reverse proxy such as to handle operational concerns like:
While booster-http may get more operational features over time, the intent is that providers who want to scale their HTTP operations will handle most of operational concerns via software in front of booster-http. You can setup a simple NGINX proxy using the in Serving files with booster-http