Migrate a Lotus markets service process to Boost
This section describes how to upgrade your lotus-miner markets service to boostd
If you are running a monolith
lotus-miner
and have not yet split the markets
service into an individual process, follow the steps in Migrate a monolith lotus-miner to Boost.
If you are running a markets
service as a separate lotus-miner
process:
1. Stop accepting incoming deals
2. Wait for incoming deals to complete
3. Shutdown the markets process
4. Backup the markets repository
5. Backup the markets datastore (in case you decide to roll back from Boost to Lotus) with:
6. Make sure you have a Lotus node and miner running
7. 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.
If you already have a PublishStorageDeal control wallet setup then it can be reused in boost as the PUBLISH_STORAGE_DEALS_WALLET
.
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
.
If you already have a wallet that you want to use as the source of funds for deal collateral, then it can be reused in boost as the COLLAT_WALLET
.
8. 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.
9. Export the environment variables needed for boostd migrate-markets
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.
10. Set the publish storage deals wallet as a control wallet.
Add the value ofPUBLISH_STORAGE_DEALS_WALLET
to the parameter DealPublishControl
in the Address
section of lotus-miner configuration if not present. Restart lotus-miner if configuration has been updated.
11. Run boostd migrate-markets
to initialize the repository and start the migration:
The migrate-markets
command
Initializes a Boost repository
Migrates markets datastore keys to Boost
Storage and retrieval deal metadata
Storage and retrieval ask data
Migrates markets libp2p keys to Boost
Migrates markets config to Boost (libp2p endpoints, settings etc)
Migrates the markets DAG store to Boost
12. 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
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:
API Access
Boost API can be accessed by setting the environment variable BOOST_API_INFO
same as LOTUS_MARKET_INFO
.
Last updated