Overview
We're happy to announce the Boost v2.1.0-rc1 release. Boost v2 revamps the way Boost handles indices for user data, introducing the Local Index Directory (LID) and removing the DAG store. In addition, there are a number of new features including bug fixes, increased flexibility on LID setup, and more.
The Local Index Directory requires a database for persistence. After reviewing various options and consulting the community, we are providing interfaces to two databases - LevelDB (for SPs holding less than 1 PiB of user data) and YugabyteDB (for SPs holding more than 1 PiB of user data). ❗ Please take your future growth into account before choosing a database ❗
👉 ⚠️ ❗ ❗ Before updating, please read the release notes and documentation carefully, as storage providers will need to setup a database service and go through a database migration process. Incorrect process can result in permanent data loss ❗ ❗ ⚠️
Highlights
Multiple Miners to Single LID
- Storage providers running multiple miners can connect all of their
boostd
,booster-http
andbooster-bitswap
instances to the same LID instance. - All
boostd
,booster-http
andbooster-bitswap
instances can serve retrievals from any miner connected to the LID instance.
- New storage deals coming to a
boostd
will be directed to its dedicated miner.
Graphsync Improvements
The Graphsync library should now terminate the connection properly. This should permanently fix the stalled Graphsync retrievals issue that some storage providers have experienced.
Manual PSD (Publish Storage Deal)
This new feature allows SPs to manually send PSD messages. Once this feature is turned on, Boost will no longer automatically send PSD messages unless explicitly prompted by the user. The feature can be turned on with the following config variable:
[Dealmaking]
// When set to true, the user is responsible for publishing deals manually.
// The values of MaxDealsPerPublishMsg and PublishMsgPeriod will be
// ignored, and deals will remain in the pending state until manually published.
ManualDealPublish bool
More details about how to use this feature can be found in the Boost docs.
New UI page for IPNI interactions
- IPNI retrievals are now separated out from the data retrievals page.
- Latest local and remote advertisement CIDs can be used to check the sync status.
- Publisher details and other config can be found in the UI.
⚠️ Users will now see Boost v2 documentation by default. To refer to Boost v1 documentation, you can select v1 in the dropdown on the header.
⚠️ We will no longer be backporting any fixes to v1 releases.
🏗️ Additional Improvements
- The miner ID is now displayed on the top of all UI pages.
- The boost binaries will now show the network name to avoid confusion.
./boost --version
boost version 2.0.0-rc1+calibnet+git.8f88bde.dirty
- Disabled index-provider will not crash
boostd
process Booster-http
now has a CORS handler for IPFS gateway as well as full piece download path.- Cached pieceReader allows faster retrievals speeds for the same content.
- Boost now uses the Lotus pieceReader enhancements, resulting in a 3x improvement in read performance.
Upgrading to Boost v2
You can find detailed instructions on how to upgrade to Boost v2 via the Boost Documentation Tutorials - How to Migrate to Boost v2.
What's Changed
- Update lotus and boxo versions by @dirkmc in #1466
- backport #1523 to main by @LexLuthr in #1556
- chore(deps): bump tough-cookie from 4.0.0 to 4.1.3 in /react by @dependabot in #1558
- Boost release/v2 by @nonsense in #1520
- Update README.md's TOC by @nonsense in #1582
- chore(deps): bump word-wrap from 1.2.3 to 1.2.4 in /react by @dependabot in #1571
- chore(deps): bump semver from 6.3.0 to 6.3.1 in /react by @dependabot in #1581
- fix: BitswapPublicAddresses default by @LexLuthr in #1588
- feat: add corshandler to IPFS gateway by @LexLuthr in #1589
- fix version flag for booster-http and booster-bitswap by @nonsense in #1590
- feat: manual publish storage deal message by @LexLuthr in #1585
- Use shared piece reader for blockstore get (fixed conflicts) by @nonsense in #1584
- feat: show ad chain head in UI by @LexLuthr in #1592
- feat: utility to get miner address from datastore by @LexLuthr in #1595
- fix: migration config bug by @LexLuthr in #1596
- Fix startup with disabled index provider by @dirkmc in #1604
- Create CONTRIBUTING.md by @brendalee in #1603
- fix: update deal filter to use
ExpectedSealDuration
andMaxDealStartDelay
by @LexLuthr in #1609 - migrate-lid: fix return err msg by @nonsense in #1612
- feat: add docker to containerize a standalone boost-client by @alvin-reyes in #1616
- timeout for migrate-lid by @nonsense in #1631
- chore: bump boost-graphsync to v0.13.7 by @LexLuthr in #1647
- feat: add multi-miner to single LID support by @LexLuthr in #1656
New Contributors
- @brendalee made their first contribution in #1603
- @alvin-reyes made their first contribution in #1616
Full Changelog: v2.0.0...v2.1.0-rc1