I’m not sure whether to label this WIP or not. It’s a little experimental, and perhaps only needed on nodes with a small maxmempool (tested on 50MB).
It’s attempting to address the issue #21558
Example in action:-
interesting!
Can you comment the code a bit better I found it a bit confusing how it’s working.
Upon further testing, this algo is broken as the minfee should never go up unless it’s during the process of deleting TXs from the mempool - if it goes up in any other event, then this creates a band of missing TXs due to my addition of not reducing the minfee until mempool utilization goes below 90% (or 80%) - it just pads the mempool with low Sat/B TXs which never get used.
So, the algo needs to change to either remove the condition (of utilization) before reducing the minfee, OR not raising the minfee unless the mempool is actually full.
I’ve fixed the issues with the algo, and I’m quite happy with the way it works now. Continuing to test it, but it seems to work well, with no issues so far.
Attached screenshot shows just how responsive the minrelayfee needs to be in some situations:-
on the other hand, with this pull, the minrelayfee changes less often, so reduces the need to keep updating peers with the new value (screenshot showing current behavior on the left, and new behavior on the right):-
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
Reviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.
Showing some comparisons between existing behaviour and new behaviour.
Reducing minfeerelay faster:- Showing the result hours later:-
And with larger mempools, the differences are quite minor, the main difference being that when the minrelayfee does reduce, it does it in a shorter time period than the existing logic:-
🐙 This pull request conflicts with the target branch and needs rebase.
Want to unsubscribe from rebase notifications on this pull request? Just convert this pull request to a “draft”.
Closing for now. This needs rebase and there hasn’t been any activity for months.
You can leave a comment if you want this to be reopened. Though, please make sure the code is passing tests and is ready for review.