If you are already running a standalone markets process, follow the guide at Migrate a Lotus markets service process to Boost
If you are already running a monolith lotus-miner instance, follow the guide at Migrate a monolith lotus-miner to Boost
1. Make sure you have a Lotus node and miner running
2. Create and send funds to two new wallets on the lotus node to be used for Boost
Boost currently uses two wallets for storage deals:
The publish storage deals wallet - This wallet pays the gas cost when Boost sends the PublishStorageDeals
message.
The deal collateral wallet - When the Storage Provider accepts a deal, they must put collateral for the deal into escrow. Boost moves funds from this wallet into escrow with the StorageMarketActor
.
3. Set the publish storage deals wallet as a control wallet.
4. Create and initialize the Boost repository
If you are already running a Lotus markets service process, you should
run boostd migrate
instead of boostd init
See section Migrate a Lotus markets service process to Boost for more details.
Boost keeps all data in a directory called the repository. By default the repository is at ~/.boost
. To use a different location pass the --boost-repo
parameter (must precede any particular command verb, e.g. boostd --boost-repo=/path init
).
Export the environment variables needed for boostd init
to connect to the lotus daemon and lotus miner.
Export environment variables that point to the API endpoints for the sealing and mining processes. They will be used by the boost
node to make JSON-RPC calls to the mining/sealing/proving
node.
Run boostd init
to create and initialize the repository:
--api-sealer
is the API info for the lotus-miner instance that does sealing
--api-sector-index
is the API info for the lotus-miner instance that provides storage
--max-staging-deals-bytes
is the maximum amount of storage to be used for downloaded files (once the limit is reached Boost will reject subsequent incoming deals)
5. Update ulimit
file descriptor limit if necessary. Boost deals will fail if the file descriptor limit for the process is not set high enough. This limit can be raised temporarily before starting the Boost process by running the command ulimit -n 1048576
. We recommend setting it permanently by following the Permanently Setting Your ULIMIT System Value guide.
6. Make sure that the correct <PEER_ID> and <MULTIADDR> for your SP is set on chain, given that boost init
generates a new identity. Use the following commands to update the values on chain:
<MULTIADDR> should be the same as the ListenAddresses
you set in the Libp2p
section of the config.toml of Boost
<PEER_ID> can be found in the output of boostd net id
command
7. Run the boostd
service, which will start:
libp2p listeners for storage and retrieval
the JSON RPC API
the graphql interface (used by the react front-end)
the web server for the react front-end
In your firewall you will need to open the ports that libp2p listens on, so that Boost can receive storage and retrieval deals.
See the Libp2p
section of config.toml
in the Repository
When you build boostd
using make build
the react app is also part of the process. You can skip this section.
Following steps are to be used only in case you are building binary and react app separately.
Build the React frontend
Open the Web UI
Open http://localhost:8080 in your browser.
To access a web UI running on a remote server, you can open an SSH tunnel from your local machine:
Boost API can be accessed by setting the environment variable BOOST_API_INFO
same as LOTUS_MARKET_INFO
.
You can also directly evaluate the boostd auth
command with: