filecoin-project / filecoin-project/boost
Pass Accepted / Transferred / Published checkpoint counters along to the deal filter
- 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
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