Releases: filecoin-project/boost
v2.1.0-rc2
Overview
We're happy to announce the Boost v2.1.0-rc2 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.
This release is compatible with the Lotus v1.24.0-rc1 and v1.25.0-rc1 release. See the Boost and Lotus compatibility matrix for up to date information to plan your upgrade.
👉 ⚠️ ❗ ❗ 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
Boost UI will allow SPs to check the payload CIDs for a pieceCID. These CID are useful for retrieval testing and debugging.
Index Provider
- The index-provider has switched from Graphsync data transfer protocol to HTTP-libp2p protocol.
- The Retrieval page in the UI has been split up so that only retrieval deal information is shown on the existing page, and all indexing information is shown on the Indexer page.
- The indexer UI in Boost displays the lag between the latest local advertisement and the sync status of the network indexers.
🏗️ Improvements
- The devnet build time has been reduced from 40+ minutes to <5 minutes.
- The
migrate-lidcommand now support parallelisation of index migration to speed up the over all migration time required for switching from Boost v1 to v2. boostdinit generates a commented out config file- The deal filter mechanism has been redesigned to run in parallel. This should speed up the deal acceptance time and reduce client timeouts.
- Graphsync server has been updated to respond correctly for identity CID requests to reduce the overall retrieval failure rates.
- The deal download has been redesigned to perform multi-part downloads to reduce the download time for online deals(like aria2c).
- The pieceReader is closed correctly after generating index to fix the issue of dangling deleted files on Lotus AP workers.
What's Changed
- fix(docker): no inline
sedcommands by @hannahhoward in #1658 - Build and publish boost devnet containers via CI by @masih in #1661
- Allow container build job to push images by @masih in #1663
- feat: add InUnsealed utility to boostx by @LexLuthr in #1680
- Disable flaky TestConcurrentTransfers by @dirkmc in #1682
- fix: disable leveldb as LID default by @LexLuthr in #1681
- fix: init with commented config by @LexLuthr in #1694
- fix: add parallelisation to migrate-lid and improve logging by @LexLuthr in #1689
- fix missing icons by @dirkmc in #1698
- chore(deps): upgrade graphsync for identity CID fix by @rvagg in #1704
- feat: update docker devnet build by @LexLuthr in #1702
- fix config.toml for devnet by @nonsense in #1708
- fix: close piece reader after generating indexes by @LexLuthr in #1707
- fix: docker devnet entrypoint by @LexLuthr in #1712
- recover from panics in go-routine in client-side io.Reader encoder by @nonsense in #1706
- fix: GS query panic by @LexLuthr in #1714
- fix: Rename deal data root cid in Boost UI by @LexLuthr in #1719
- fix: remove payloadRootCid lookup by @LexLuthr in #1721
- ci: explicitly switch macos build to silicon and upgrade xcode by @galargh in #1720
- feat: show payload CIDs in UI by @LexLuthr in #1722
- Ivan/http transport upgrades by @ischasny in #1732
- feat: Ipnisync by @LexLuthr in #1731
- ci: switch macos builds to apple silicon by @galargh in #1726
- direct data onboarding - disabled by @nonsense in #1627
- Fix boostd-data go module path and remove replace directives by @masih in #1741
- Fix static check issues by @masih in #1743
- fix LID web UI by @nonsense in #1745
- use explicit repo location for boostd-data by @nonsense in #1748
- add support for yugabytedb for devnet by @nonsense in #1756
- feat: run deal filters in parallel by @LexLuthr in #1746
New Contributors
Full Changelog: v2.1.0-rc1...v2.1.0-rc2
v2.1.0-rc1
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-httpandbooster-bitswapinstances to the same LID instance. - All
boostd,booster-httpandbooster-bitswapinstances can serve retrievals from any miner connected to the LID instance.
- New storage deals coming to a
boostdwill 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
boostdprocess Booster-httpnow 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
ExpectedSealDurationandMaxDealStartDelayby @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
v1.7.5
Overview
We're happy to announce the Boost v1.7.5 release.
This release is compatible with the Lotus v1.23.0 release. See the Boost and Lotus compatibility matrix for up to date information to plan your upgrade.
Improvements
- Fixes the
boostdcrash when index-provider is disabled in the configuration - Boost deals will not be filtered out based on
ExpectedSealDurationandMaxDealStartDelayvalues MaxDealStartDelaywill now only be applicable for online deals- ❗
StartEpochSealingBufferwill now be used from[Dealmaking]section for boost deals instead of[LotusDealmaking]section ❗
Full Changelog: v1.7.4...v1.7.5
v2.0.0
Overview
We're happy to announce the Boost v2.0.0 release. This release revamps the way Boost handles indices for user data, introducing the Local Index Directory (LID) and removing the DAG store.
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
Local Index Directory (LID)
The Local Index Directory (LID) manages and stores indices of deal data so that it can be retrieved by a content identifier (CID).
Currently this task is performed by the DAG store component. The DAG store keeps its indices on disk on a single machine. LID replaces the DAG store and introduces a horizontally scalable backend database for storing the data - YugabyteDB.
LID is designed to provide a more intuitive experience for the user, by surfacing problems and providing various repair tools. It makes it easy to understand what data is index and retrievable, and what data is archived and requires unsealing to make it retrievable.
Legacy storage deals are deprecated
Boost will no longer support legacy deals by default. Users will get an error message stating the same when they try to make deals using deal protocols older than mk2.0
To avoid breaking the deal flow, we have a new configuration option to enable them back. We highly recommend switching to new deals as this option will be removed in future releases.
[Dealmaking]
# Whether to enable legacy deals on the Boost node or not. We recommend keeping
# them disabled. These will be completely deprecated soon.
#
# type: bool
#EnableLegacyStorageDeals = false
⚠️ Boost v2 documentation will now be default. Users can select v1 from the dropdown if they wish to refer to Boost v1 documentation.
⚠️ Boost will no longer be backporting any fixes to v1 releases
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.
Full Changelog: v1.7.4...v2.0.0
v2.0.0-rc1
Overview
We're happy to announce the Boost v2.0.0-rc1 release. This release revamps the way Boost handles indices for user data, introducing the Local Index Directory (LID) and removing the DAG store.
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 DB type ❗
👉 ⚠️ ❗ ❗ 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
Local Index Directory (LID)
The Local Index Directory (LID) manages and stores indices of deal data so that it can be retrieved by a content identifier (CID).
Currently this task is performed by the DAG store component. The DAG store keeps its indices on disk on a single machine. LID replaces the DAG store and introduces a horizontally scalable backend database for storing the data - YugabyteDB.
LID is designed to provide a more intuitive experience for the user, by surfacing problems and providing various repair tools. It makes it easy to understand what data is index and retrievable, and what data is archived and requires unsealing to make it retrievable.
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.
Full Changelog: v1.7.3...v2.0.0-rc1
v1.7.4
Overview
We're happy to announce the Boost v1.7.4 release.
This release is compatible with the Lotus v1.23.0 release. See the Boost and Lotus compatibility matrix for up to date information to plan your upgrade.
Improvements
- Fixes the UI bug alerting about all stuck messages instead of local stuck messages
What's Changed
- feat: mpool monitor by @LexLuthr in #1512
- Add monitoring alert UI element by @dirkmc in #1517
- Add flag to allow restarting devnet by @lalexgap in #1521
- Update lotus and boxo versions by @dirkmc in #1466
- backport #1523 to main by @LexLuthr in #1556
New Contributors
Full Changelog: v1.7.3...v1.7.4
v1.7.3
Overview
We're happy to announce the Boost v1.7.3 release.
This release is compatible with the Lotus v1.23.0 and v.23.1-rcX release. See the Boost and Lotus compatibility matrix for up to date information to plan your upgrade.
🌟 Highlights
Option to disable tagging of wallet funds
- By default, Boost tags funds for each deal with the value defined by
MaxPublishDealsFee, and untags the funds when the deal is published. This is to prevent SPs from accepting too many deals and then not being able to publish them due to a lack of funds. - Some SPs would prefer to manage their wallet funds themselves.
- Tagging can now be disabled by setting the following variable in Boost config
// Whether to enable tagging of funds. If enabled, each time a deal is
// accepted boost will tag funds for that deal so that they cannot be used
// for any other deal.
FundsTaggingEnabled bool
HTTP announcements to the IPNI
- Boost can now announce advertisements over HTTP to the IPNI
- Once enabled, it should reduce the request load over Graphsync and improve performance of data retrievals
- New configuration to enable HTTP announcements
PurgeCacheOnStart = true [IndexProvider.Announce] # Make a direct announcement to a list of indexing nodes over http. # Note that announcements are already made over pubsub regardless # of this setting. # # type: bool # env var: LOTUS_INDEXPROVIDER_ANNOUNCE_ANNOUNCEOVERHTTP AnnounceOverHttp = true # The list of URLs of indexing nodes to announce to. # # type: []string # env var: LOTUS_INDEXPROVIDER_ANNOUNCE_DIRECTANNOUNCEURLS DirectAnnounceURLs = ["https://cid.contact/ingest/announce", "http://localhost:3001"] [IndexProvider.HttpPublisher] # If not enabled, requests are served over graphsync instead. # # type: bool # env var: LOTUS_INDEXPROVIDER_HTTPPUBLISHER_ENABLED #Enabled = true # Set the public hostname / IP for the index provider listener. # eg "82.129.73.111" # This is usually the same as the for the boost node. # # type: string # env var: LOTUS_INDEXPROVIDER_HTTPPUBLISHER_PUBLICHOSTNAME #PublicHostname = "xx.xx.xx.xx" # Set the port on which to listen for index provider requests over HTTP. # Note that this port must be open on the firewall. # # type: int # env var: LOTUS_INDEXPROVIDER_HTTPPUBLISHER_PORT # Port = 3104
Fix for stalled Graphsync retrievals
- When a deal is announced, the network indexer queries boost to get the cids of each block in the deal data
- There was an issue with the code that could cause retrievals to stall.
- Requests made via the network indexers, like cid.contact, are now routed through the simplified graphsync retrieval pathways as opposed to the legacy retrievals which is prone to stalling, and is less performant.
- Stalled Graphsync retrieval cancellation code has been refactored for faster execution and efficiency
🏗️ Improvements
Managing Mpool
- Deal page will display the number of epochs elapsed since PSD message was sent. This should help SPs to quickly find PSD messages stuck in the local mpool by looking at the number of epochs elapsed vs message confidence (10 epochs)
- Mpool section in WebUI displays the method parameters for each message
Improved configuration and defaults for internet interactions
- Users can specify a listen address for
booster-httpinstead of listening on all available addresses - WebUI now listens on
localhostby default to avoid accidentally exposing it to the internet
Deal making
- Better deal-acceptance timeout implementation to avoid timeout due to the execution time of the external deals filters
- A listen address can be provided for GraphQL service. This should mitigate security risks for publicly exposed Boost nodes.
- Offline deals waiting for data can be cancelled from the UI.
- Boost will now fail the deal if a snap-deal sector reverts to
Provingat any point of the sealing process. Earlier, Boost would incorrectly mark such deals as successfully sealed. - Boost now supports local commp calculation for 64 GiB sectors.
Others
- Indexer should be able to skip bad advertisements when processing the Ad chain from a Boost node
- All the available Boost APIs can now be listed using
rpc.discoverorFilecoin.Discovermethod - Boost now has a
configcommand similar tolotus configcommand with additional flag--diffto generate a diff between current and default config
📣 Deprecation Notice: Disabling payments via built in payment channels actor in Boost 📣
The Boost team will be disabling payments via built in payment channels actor by default. There has been limited activity on these payment channels on the entire network. We are planning on disabling this in an effort to simplify the code base for existing retrieval use cases and improve retrieval reliability.
A few items to note:
- The main use case for payment channels are for micropayments where small payments are made as data is sent back. With payment channels you do not need to keep sending messages to mainnet.
- There is a PLN team actively working on payment channels, and is starting to look into integration with the Filecoin network.
- You can still make payments for retrieval deals on mainnet, but you will need to negotiate payment terms for a retrieval deal with a SP directly.
What to expect:
- Boost maintainers will update default behavior to use new retrieval code (optimized for retrievals without payment channels).
- Please report any issues you have in #boost-help, so we can track and monitor SP impact.
- If you have any questions or concerns, please raise them in Boost discussion, or reach out in #boost-help
What's Changed
- initial yugabyte dockerfile by @nonsense in #1393
- Add a config flag to disable funds tagging by @dirkmc in #1367
- chore:add graphql server listen address config by @rickiey in #1327
- chore: update lotus and ffi versions (#1400) by @jacobheun in #1401
- chore: fix docsgen on main by @jacobheun in #1402
- put g.activeRetrievals behind a lock everywhere by @nonsense in #1404
- chore: update lotus and ffi versions (#1400) by @jacobheun in #1409
- fix: mpool all messages panic by @LexLuthr in #1405
- feat: add cancel button for offline deals waiting for data by @LexLuthr in #1413
- chore: enable files gateway in devnet by default by @jacobheun in #1420
- car size required only for online deals by @anjor in #1421
- Dont throw error if deal already announced by @dirkmc in #1426
- fix: use new retrieval code path for indexers by @jacobheun in #1425
- fix usage comments on boostd data-transfers commands by @dirkmc in #1437
- fix download block link spacing by @dirkmc in #1438
- fix: fail deal if snap-deal sectors fails sealing by @LexLuthr in #1419
- fix: 64 GiB local commp by @LexLuthr in #1439
- chore: release v1.7.3-rc1 by @LexLuthr in #1441
- Update README.md by @LaurenSpiegel in #1443
- feat: enable listing API methods for Boost by @LexLuthr in #1442
- fix: statx output string by @LexLuthr in #1451
- fix flaky TestMultipleDealsConcurrent by @dirkmc in #1458
- Add option to serve index provider ads over http by @dirkmc in #1452
- Signal to index provider to skip announcements by @dirkmc in #1457
- chore: release v1.7.3-rc2 by @LexLuthr in #1460
- fix: improve stalled retrieval cancellation by @LexLuthr in #1449
- feat: enable listen address for booster-http by @LexLuthr in #1461
- fix: nil pointer error for all messages in UI by @LexLuthr in #1470
- fix: incorrect check when import offline deal data using proposal CID by @LexLuthr in #1473
- Properly cancel graphsync requests in unpaid retrieval by @hannahhoward in #1475
- fix: set UI default listen address to localhost by @LexLuthr in h...
v1.7.3-rc3
Overview
We're happy to announce the Boost v1.7.3-rc3 release.
📣 Deprecation Notice: Disabling payments via built in payment channels actor in Boost 📣
The Boost team will be disabling payments via built in payment channels actor by default. There has been limited activity on these payment channels on the entire network. We are planning on disabling this in an effort to simplify the code base for existing retrieval use cases and improve retrieval reliability.
A few items to note:
- The main use case for payment channels are for micropayments where small payments are made as data is sent back. With payment channels you do not need to keep sending messages to mainnet.
- There is a PLN team actively working on payment channels, and is starting to look into integration with the Filecoin network.
- You can still make payments for retrieval deals on mainnet, but you will need to negotiate payment terms for a retrieval deal with a SP directly.
What to expect:
- Boost maintainers will update default behavior to use new retrieval code (optimized for retrievals without payment channels).
- Please report any issues you have in #boost-help, so we can track and monitor SP impact.
- If you have any questions or concerns, please raise them in Boost discussion, or reach out in #boost-help
This release is compatible with the Lotus v1.23.0 release. See the Boost and Lotus compatibility matrix for up to date information to plan your upgrade.
Improvements
Managing Mpool
- Deal page will display the number of epochs elapsed since PSD message was sent. This should help SPs to quickly find PSD messages stuck in the local mpool by looking at the number of epochs elapsed vs message confidence (10 epochs)
- Mpool section in WebUI displays the method parameters for each message
Improved configuration and defaults for internet interactions
- Users can specify a listen address for
booster-httpinstead of listening on all available addresses - WebUI now listens on
localhostby default to avoid accidentally exposing it to the internet
Deal making
- Better deal-acceptance timeout implementation to avoid timeout due to the execution time of the external deals filters
What's Changed
- feat: enable listen address for booster-http by @LexLuthr in #1461
- fix: nil pointer error for all messages in UI by @LexLuthr in #1470
- fix: incorrect check when import offline deal data using proposal CID by @LexLuthr in #1473
- Properly cancel graphsync requests in unpaid retrieval by @hannahhoward in #1475
- fix: set UI default listen address to localhost by @LexLuthr in #1476
- feat: display msg params in the mpool UI by @LexLuthr in #1471
- Reset read deadline after reading deal proposal message by @dirkmc in #1479
- feat: Show elapsed epoch and PSD wait epochs in UI by @LexLuthr in #1480
- chore: release v1.7.3-rc3 by @LexLuthr in #1481
Full Changelog: v1.7.3-rc2...v1.7.3-rc3
v1.7.3-rc2
Overview
We're happy to announce the Boost v1.7.3-rc2 release.
📣 Deprecation Notice: Disabling payments via built in payment channels actor in Boost 📣
The Boost team will be disabling payments via built in payment channels actor by default. There has been limited activity on these payment channels on the entire network. We are planning on disabling this in an effort to simplify the code base for existing retrieval use cases and improve retrieval reliability.
A few items to note:
- The main use case for payment channels are for micropayments where small payments are made as data is sent back. With payment channels you do not need to keep sending messages to mainnet.
- There is a PLN team actively working on payment channels, and is starting to look into integration with the Filecoin network.
- You can still make payments for retrieval deals on mainnet, but you will need to negotiate payment terms for a retrieval deal with a SP directly.
What to expect:
- Boost maintainers will update default behavior to use new retrieval code (optimized for retrievals without payment channels).
- Please report any issues you have in #boost-help, so we can track and monitor SP impact.
- If you have any questions or concerns, please raise them in Boost discussion, or reach out in #boost-help
This release is compatible with the Lotus v1.23.0 release. See the Boost and Lotus compatibility matrix for up to date information to plan your upgrade.
🌟 Highlights
HTTP announcements to the IPNI
- Boost can now announce advertisements over HTTP to the IPNI
- Once enabled, it should reduce the request load over Graphsync and improve performance of data retrievals
- New configuration to enable HTTP announcements
PurgeCacheOnStart = true [IndexProvider.Announce] # Make a direct announcement to a list of indexing nodes over http. # Note that announcements are already made over pubsub regardless # of this setting. # # type: bool # env var: LOTUS_INDEXPROVIDER_ANNOUNCE_ANNOUNCEOVERHTTP AnnounceOverHttp = true # The list of URLs of indexing nodes to announce to. # # type: []string # env var: LOTUS_INDEXPROVIDER_ANNOUNCE_DIRECTANNOUNCEURLS DirectAnnounceURLs = ["https://cid.contact/ingest/announce", "http://localhost:3001"] [IndexProvider.HttpPublisher] # If not enabled, requests are served over graphsync instead. # # type: bool # env var: LOTUS_INDEXPROVIDER_HTTPPUBLISHER_ENABLED #Enabled = true # Set the public hostname / IP for the index provider listener. # eg "82.129.73.111" # This is usually the same as the for the boost node. # # type: string # env var: LOTUS_INDEXPROVIDER_HTTPPUBLISHER_PUBLICHOSTNAME #PublicHostname = "xx.xx.xx.xx" # Set the port on which to listen for index provider requests over HTTP. # Note that this port must be open on the firewall. # # type: int # env var: LOTUS_INDEXPROVIDER_HTTPPUBLISHER_PORT # Port = 3104
Improvements
- Stalled Graphsync retrieval cancellation code has been refactored for faster execution and efficiency
- Indexer should be able to skip bad advertisements when processing the Ad chain from a Boost node
- All the available Boost APIs can now be listed using
rpc.discoverorFilecoin.Discovermethod
What's Changed
- feat: enable listing API methods for Boost by @LexLuthr in #1442
- Add option to serve index provider ads over http by @dirkmc in #1452
- Signal to index provider to skip announcements by @dirkmc in #1457
- fix: improve stalled retrieval cancellation by @LexLuthr in #1449
Full Changelog: v1.7.3-rc1...v1.7.3-rc2
v1.7.3-rc1
Overview
We're happy to announce the Boost v1.7.3-rc1 release.
⚠️ The minimum required Golang version for Boost is now v1.19.7, and Golang 1.20.x is Highly Recommended due to known potential panics ⚠️
Golang versions are now included in the compatibility matrix.
This release is compatible with the Lotus v1.23.0 release. See the Boost and Lotus compatibility matrix for up to date information to plan your upgrade.
🌟 Highlights
Option to disable tagging of wallet funds
- By default, Boost tags funds for each deal with the value defined by
MaxPublishDealsFee, and untags the funds when the deal is published. This is to prevent SPs from accepting too many deals and then not being able to publish them due to a lack of funds. - Some SPs would prefer to manage their wallet funds themselves.
- Tagging can now be disabled by setting the following variable in Boost config
// Whether to enable tagging of funds. If enabled, each time a deal is
// accepted boost will tag funds for that deal so that they cannot be used
// for any other deal.
FundsTaggingEnabled bool
Fix for stalled Graphsync retrievals
- When a deal is announced, the network indexer queries boost to get the cids of each block in the deal data
- There was an issue with the code that could cause retrievals to stall.
- Requests made via the network indexers, like cid.contact, are now routed through the simplified graphsync retrieval pathways as opposed to the legacy retrievals which is prone to stalling, and is less performant.
Improvements
- A listen address can be provided for GraphQL service. This should mitigate security risks for publicly exposed Boost nodes.
- Offline deals waiting for data can be cancelled from the UI.
- Boost will now fail the deal if a snap-deal sector reverts to
Provingat any point of the sealing process. Earlier, Boost would incorrectly mark such deals as successfully sealed. - Boost now supports local commp calculation for 64 GiB sectors.
What's Changed
- Add a config flag to disable funds tagging by @dirkmc in #1367
- chore:add graphql server listen address config by @rickiey in #1327
- put g.activeRetrievals behind a lock everywhere by @nonsense in #1404
- fix: mpool all messages panic by @LexLuthr in #1405
- feat: add cancel button for offline deals waiting for data by @LexLuthr in #1413
- chore: enable files gateway in devnet by default by @jacobheun in #1420
- car size required only for online deals by @anjor in #1421
- Don't throw error if deal already announced by @dirkmc in #1426
- fix: use new retrieval code path for indexers by @jacobheun in #1425
- fix usage comments on boostd data-transfers commands by @dirkmc in #1437
- fix download block link spacing by @dirkmc in #1438
- fix: fail deal if snap-deal sectors fails sealing by @LexLuthr in #1419
- fix: 64 GiB local commp by @LexLuthr in #1439
New Contributors
Full Changelog: v1.7.2...v1.7.3-rc1

