<gmaxwell>
sipa: IIRC we've done staged rule changes like that before-- it's also basically how every soft fork works (though at least there has some coordinated activation point)
durandal_ has joined #bitcoin-core-dev
joetor5 has quit [Ping timeout: 260 seconds]
l0rinc has joined #bitcoin-core-dev
Cory43 has quit [Quit: Client closed]
Cory43 has joined #bitcoin-core-dev
<sipa>
gmaxwell: i can't recall that ever being done for policy changes
<sipa>
but yes, that's certainly a possibility
<sipa>
i remember softforks that were preceeded by a policy chang
w0xlt has quit [Ping timeout: 260 seconds]
<gmaxwell>
yeah I'll think before see if I can think up a good example.
<gmaxwell>
in any case as I suggested above, another alternative is to make defaults that change during runtime based on some flag block, which also addresses the issue and does to even better.
<gmaxwell>
(wouldn't make sense to do *right now* simply because miners are already mining 100s/vkb, but this is the bad uncoordinated case that it would be nice to avoid)
kevkevin has joined #bitcoin-core-dev
<_aj_>
i proposed an approach like that for fullrbf in #26323 fwiw
<gmaxwell>
_aj_: re, stuff floating around not getting mined. I think it's really only an issue if it's not mined *at all* because then its a free relay vector. If it's mined even rarely, it's not a big concern. Stuff getting mined that is not relayed though is pretty crappy, even if it's slightly relayed, thats still not great. If there weren't big hashpower consolidations perhaps you could count on
<gmaxwell>
self-interest to regulate that (though kind of obnoxious if you have to change defaults to get the right behavior) -- but with consolidations it's arguably in the self interest of the larger miners to increase the stale rate.
l0rinc has quit [Quit: l0rinc]
l0rinc has joined #bitcoin-core-dev
joetor5 has joined #bitcoin-core-dev
l0rinc has quit [Quit: l0rinc]
l0rinc has joined #bitcoin-core-dev
joetor5 has quit [Quit: joetor5]
jerryf_ has joined #bitcoin-core-dev
l0rinc has quit [Quit: l0rinc]
l0rinc has joined #bitcoin-core-dev
jonatack has joined #bitcoin-core-dev
jon_atack has quit [Ping timeout: 252 seconds]
bitcoinlover has joined #bitcoin-core-dev
kevkevin has quit [Remote host closed the connection]
<glozow>
gmaxwell: sorry I didn't see this earlier. Adding on to "kind of obnoxious if you have to change defaults to get the right behavior," I think a good rule of thumb for defaults is they should result in something safe/ideal if everybody on the network is using them. Not that we expect everyone to use them, but it'd feel wrong that there is free relay if they do
<sipa>
ryanofsky: have you ever tried pycapnp (with the bitcoin ipc interface)? i'm trying to get it to work, but i'm not sure if it's even expected to just load our src/ipc/capnp/*.capnp files
<sipa>
2>>> import echo_capnp
<sipa>
terminate called after throwing an instance of 'kj::ExceptionImpl' what(): echo.capnp:9: failed: Import failed: /mp/proxy.capnp
jon_atack has joined #bitcoin-core-dev
jonatack has quit [Ping timeout: 252 seconds]
joetor5 has quit [Remote host closed the connection]
jonatack has joined #bitcoin-core-dev
joetor5 has joined #bitcoin-core-dev
jon_atack has quit [Ping timeout: 260 seconds]
jon_atack has joined #bitcoin-core-dev
sliv3r__ has quit [Ping timeout: 244 seconds]
sliv3r__ has joined #bitcoin-core-dev
<bitcoin-git>
[bitcoin] Galoretka opened pull request #33197: doc: add Linux GUI runtime instructions to doc/README.md (master...docs/linux-gui-runtime-readme) https://github.com/bitcoin/bitcoin/pull/33197
jonatack has quit [Ping timeout: 260 seconds]
avg-gary has joined #bitcoin-core-dev
<sipa>
ok, i was missing import paths
bugs_ has joined #bitcoin-core-dev
<bitcoin-git>
[bitcoin] stickies-v opened pull request #33198: test: ensure logs are flushed before reading them (master...2025-08/force-log-flush) https://github.com/bitcoin/bitcoin/pull/33198
jonatack has joined #bitcoin-core-dev
jon_atack has quit [Ping timeout: 252 seconds]
kevkevin has quit [Remote host closed the connection]
<sipa>
Sjors[m]1: yeah, trying to make it work in the functional test framework, will PR a very minimal one
Talkless has quit [Quit: Konversation terminated!]
<Sjors[m]1>
So far I achieved test coverage for the Mining interface with a combination of unit tests and by having RPC method use the interface internally. But the latter has side-effects, see #32547.
<Sjors[m]1>
So I might take your minimum example and expand it.
durandal_ has quit [Quit: Leaving]
___nick___ has joined #bitcoin-core-dev
jon_atack has joined #bitcoin-core-dev
jonatack has quit [Ping timeout: 276 seconds]
kevkevin has quit [Remote host closed the connection]
jonatack has joined #bitcoin-core-dev
jon_atack has quit [Ping timeout: 255 seconds]
magellan has quit [Ping timeout: 260 seconds]
kevkevin has joined #bitcoin-core-dev
Cory49 has quit [Quit: Client closed]
Cory49 has joined #bitcoin-core-dev
kevkevin has quit [Ping timeout: 252 seconds]
jon_atack has joined #bitcoin-core-dev
jonatack has quit [Ping timeout: 252 seconds]
jonatack has joined #bitcoin-core-dev
jon_atack has quit [Ping timeout: 252 seconds]
<ryanofsky>
sipa, that's an interesting idea to use pycapnp. I think I assumed it wouldn't be feasible to add as a dependency to functional test framework, but of course it could be an optional dependency, we have many other tests that run conditionally
<achow101>
we already have optional dependencies in the test framework for usdt, so that wouldn't be abnormal for us
jon_atack has joined #bitcoin-core-dev
jonatack has quit [Ping timeout: 252 seconds]
busy has quit [Ping timeout: 245 seconds]
durandal_ has joined #bitcoin-core-dev
<ryanofsky>
yeah I think I was making an outdated / incorrect assumption, it's a very good idea
<bitcoin-git>
bitcoin/master fab2980 Lőrinc: assumevalid: log every script validation state change
<bitcoin-git>
bitcoin/master 97593c1 Ava Chow: Merge bitcoin/bitcoin#32975: assumevalid: log every script validation stat...
<bitcoin-git>
[bitcoin] achow101 merged pull request #32975: assumevalid: log every script validation state change (master...l0rinc/warn-logging-enable) https://github.com/bitcoin/bitcoin/pull/32975
<phantomcircuit>
gmaxwell, the minimum relay fees are kinda weird since it's protecting against unlikely to be mined but valid transactions wasting our bandwidth, but priced in bitcoin
<phantomcircuit>
which fundamentally means we're setting a basically nonsensical limit whenever the price changes
<phantomcircuit>
ultimately what we really want is some kinda of priority order but actually achieving that is very hard, the best i think we can reasonably do is... did we accept it into our own mempool
Cory45 has joined #bitcoin-core-dev
<phantomcircuit>
sipa, with the changes to the mempool that you're working on, does that include peers telling us what the feerate is for a transaction so we can avoid requesting things we would reject?
Cory51 has joined #bitcoin-core-dev
Cory86 has quit [Ping timeout: 250 seconds]
<phantomcircuit>
the feefilter message by itself (i think) would filter out low fee parents that are needed for child pays for parent
Cory45 has quit [Ping timeout: 250 seconds]
Cory44 has joined #bitcoin-core-dev
kevkevin has joined #bitcoin-core-dev
Cory51 has quit [Ping timeout: 250 seconds]
Cory32 has joined #bitcoin-core-dev
kevkevin has quit [Remote host closed the connection]
Cory44 has quit [Ping timeout: 250 seconds]
cotsuka has quit [Read error: Connection reset by peer]
cotsuka has joined #bitcoin-core-dev
Cory32 has quit [Quit: Client closed]
Cory32 has joined #bitcoin-core-dev
kevkevin has joined #bitcoin-core-dev
___nick___ has quit [Ping timeout: 252 seconds]
bugs_ has quit [Quit: Leaving]
kevkevin has quit [Remote host closed the connection]
jonatack has joined #bitcoin-core-dev
<sipa>
phantomcircuit: cluster mempool itself doesn't make any real p2p protocol changes, but i think we do end up reinterpreting feefilter as applying to chunk feerates rather than individual
<sipa>
sdaftuar or glozow would know better
jon_atack has quit [Ping timeout: 260 seconds]
durandal_ has quit [Read error: Connection reset by peer]
durandal_ has joined #bitcoin-core-dev
<bitcoin-git>
[bitcoin] MrDecryptDecipher opened pull request #33202: doc: improve documentation clarity for issue #33197 (master...auto-fix-issue-33197) https://github.com/bitcoin/bitcoin/pull/33202
jon_atack has joined #bitcoin-core-dev
jonatack has quit [Ping timeout: 255 seconds]
<bitcoin-git>
[bitcoin] MrDecryptDecipher opened pull request #33203: doc: enhance documentation for issue #32698 (master...auto-doc-32698-1755296593) https://github.com/bitcoin/bitcoin/pull/33203
l0rinc has joined #bitcoin-core-dev
<bitcoin-git>
[bitcoin] MrDecryptDecipher opened pull request #33204: doc: enhance documentation for issue #33146 (master...auto-doc-33146-1755296778) https://github.com/bitcoin/bitcoin/pull/33204
<gmaxwell>
Anyone notice 82.66.103.79 connecting over and over again, says its 28.99 but gets punted for invalid proof of work?
<gmaxwell>
phantomcircuit: really the issue of stuff that won't get mined ought to be managed by adaitive minfee-- basically every node should fill up with XX mbytes of stuff that isn't likely to get mined any time soon, and the minfee moves up on its own. It's just that the whole thing is a little degenrate when there isn't enough tx flux to do that. And esp if the minfee is zero then you can
<gmaxwell>
risklessly and costlessly abuse the relay network.
<gmaxwell>
phantomcircuit: so really the number just needs to be high enough to prevent that, and not really any higher.
jonatack has joined #bitcoin-core-dev
<gmaxwell>
phantomcircuit: but my point was all around how to handle changes. Ideally we don't want a situation where stuff is getting mined that is not well relayed, as that centeralized mining.
<gmaxwell>
also because of that CPFP thing it's a bit better that a static limit is the operative limit rather than a dynamic one.. since it's easy to guarentee all your txn meet a static limit.
<bitcoin-git>
[bitcoin] MrDecryptDecipher opened pull request #33205: doc: enhance documentation for issue #33146 (master...auto-doc-33146-1755297082) https://github.com/bitcoin/bitcoin/pull/33205
jon_atack has quit [Ping timeout: 252 seconds]
<sipa>
gmaxwell: took me a minute to parse your "adaitive" as "adaptive" (my first interpretations were "additive" and "adiabatic")
<gmaxwell>
hah sorry
<bitcoin-git>
[bitcoin] MrDecryptDecipher opened pull request #33206: doc: enhance documentation for issue #33146 (master...auto-doc-33146-1755297266) https://github.com/bitcoin/bitcoin/pull/33206
jon_atack has joined #bitcoin-core-dev
jonatack has quit [Ping timeout: 245 seconds]
<bitcoin-git>
[bitcoin] MrDecryptDecipher opened pull request #33207: doc: enhance documentation for issue #33146 (master...auto-doc-33146-1755297390) https://github.com/bitcoin/bitcoin/pull/33207
<bitcoin-git>
bitcoin/master ba01585 woltx: wallet: `MigrateToDescriptor` no longer calls `CanSupportFeature`
<bitcoin-git>
[bitcoin] achow101 merged pull request #32977: wallet: Remove wallet version and several legacy related functions (master...remove_nversion) https://github.com/bitcoin/bitcoin/pull/32977