filecoin-project / filecoin-project/boost

Pass Accepted / Transferred / Published checkpoint counters along to the deal filter

Open
#1,747 12 comments 0 reactions 0 assignees View on GitHub
kind/feature
Dominant language
Go
Stars
121
Forks
79
Avg merge
10d 14h
Merged PRs (30d)
1

Description

### Checklist

- [X] This is **not** a new feature or an enhancement to the Filecoin protocol. If it is, please open an [FIP issue](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0001.md).
- [X] This is **not** brainstorming ideas. If you have an idea you'd like to discuss, please open a new discussion on [the Boost forum](https://github.com/filecoin-project/boost/discussions/categories/ideas) and select the category as `Ideas`.
- [X] I **have** a specific, actionable, and well motivated feature request to propose.

### Boost component

- [X] boost daemon - storage providers
- [ ] boost client
- [ ] boost UI
- [ ] boost data-transfer
- [ ] boost index-provider
- [X] Other

### What is the motivation behind this feature request? Is your feature request related to a problem? Please describe.

Provide to storage providers the ability to accept deals based on the current concurrent downloads through the deal filter.

The current info allows to filter based on the sealing pipeline states (AP / PC1 / PC2/ ... ) but when receiving alot of online deals, many concurrent downloads can be started before reaching the miner. The idea is to give miners the ability to take the boost staged deals that will soon reach the sealing pipeline into account.

State of the different deal currently being processed should be taken into account when deciding if we want to accept new deals

### Describe the solution you'd like

Boost add these existing info to the dealfilter.

Proposed format :
```
"StagingState": {
"Accepted": {
"graphsync": {
"Deals": 0,
"CumulativeSize": 0
},
"http": {
"Deals": 1,
"CumulativeSize": 2048
},
"libp2p": {
"Deals": 0,
"CumulativeSize": 0
}
},
"Transferred": {
"Deals": 1,
"CumulativeSize": 2048
},
"Published": {
"Deals": 0,
"CumulativeSize": 0
}
```

### Describe alternatives you've considered

None

### Additional context

We made that development and can propose a PR.

Contributor guide

Open the contributing guide

Research direction

The issue names the Boost daemon deal filter but no files or tests. Start by locating the existing sealing-pipeline state data passed to that filter and compare it with the proposed Accepted, Transferred, and Published counters, including the specified transport breakdown. Done means storage providers can use those counters when accepting or rejecting deals, with the behavior covered by the relevant tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
backend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.