github filecoin-project/boost v1.7.3-rc2

latest releases: v2.2.0, v2.2.0-rc2, v2.2.0-rc1...
pre-release12 months ago

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:

  1. Boost maintainers will update default behavior to use new retrieval code (optimized for retrievals without payment channels).
  2. Please report any issues you have in #boost-help, so we can track and monitor SP impact.
  3. 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.

⚠️ If you have not yet upgraded to Boost 1.7.0 or later, please see the 1.7.0 release notes before upgrading. ⚠️

🌟 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.discover or Filecoin.Discover method

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

Don't miss a new boost release

NewReleases is sending notifications on new releases.