l0rinc has quit [Read error: Connection reset by peer]
l0rinc has joined #bitcoin-core-dev
PaperSword has joined #bitcoin-core-dev
vasild has quit [Remote host closed the connection]
vasild has joined #bitcoin-core-dev
jonatack has quit [Ping timeout: 256 seconds]
<_aj_>
darosior: messing around with mainnet consensus parameters seems like a bad idea, and exposing it as a configuration option seems worse; if you want to test things and need different consensus parameters, that seems like something where regtest should be the answer
l0rinc has quit [Quit: l0rinc]
jerryf_ has joined #bitcoin-core-dev
synexic has quit [Ping timeout: 265 seconds]
jerryf has quit [Ping timeout: 272 seconds]
cmirror has quit [Remote host closed the connection]
cmirror has joined #bitcoin-core-dev
synexic has joined #bitcoin-core-dev
jerryf_ has quit [Remote host closed the connection]
jerryf has joined #bitcoin-core-dev
memset has quit [Remote host closed the connection]
Guest81 has joined #bitcoin-core-dev
memset has joined #bitcoin-core-dev
Guest81 has quit [Client Quit]
dodo has quit [Remote host closed the connection]
michaelfolkson has quit [Quit: ZNC 1.8.2 - https://znc.in]
dodo has joined #bitcoin-core-dev
purpleKarrot has quit [Quit: purpleKarrot]
michaelfolkson has joined #bitcoin-core-dev
purpleKarrot has joined #bitcoin-core-dev
kevkevin has quit [Remote host closed the connection]
purpleKarrot has quit [Quit: purpleKarrot]
purpleKarrot has joined #bitcoin-core-dev
spynx has joined #bitcoin-core-dev
spynxic has quit [Read error: Connection reset by peer]
<darosior>
_aj_: we already have ways to mess with consensus, especially with hidden options / commands. But i can make it unavailable to the user in init.cpp if you really feel strongly
<darosior>
Regtest isn't an option because what i have are test vectors for a BIP. Regtest is Core specific and the test vectors need to exhibit mainnet-specific behaviour
enochazariah has quit [Ping timeout: 250 seconds]
l0rinc has quit [Quit: l0rinc]
bugs_ has joined #bitcoin-core-dev
l0rinc has joined #bitcoin-core-dev
l0rinc has quit [Client Quit]
robobub has joined #bitcoin-core-dev
l0rinc has joined #bitcoin-core-dev
l0rinc has quit [Client Quit]
f321x has quit [Remote host closed the connection]
f321x has joined #bitcoin-core-dev
enochazariah has joined #bitcoin-core-dev
jonatack has joined #bitcoin-core-dev
enochazariah has quit [Ping timeout: 250 seconds]
enochazariah has joined #bitcoin-core-dev
jon_atack has joined #bitcoin-core-dev
jonatack has quit [Ping timeout: 256 seconds]
<_aj_>
darosior: if they're test vectors that don't match mainnet consensus parameters, i'm skeptical that they're very meaningful
l0rinc has joined #bitcoin-core-dev
<darosior>
_aj_: well they are certainly a lot more than ones using regtest, where the actually relevant consensus parameters are different
<_aj_>
darosior: changing regtests consensus params to match seems a lot less risky than changing mainnet's
<darosior>
Ok it seems we aren't talking about the same thing. Nobody is suggesting to change the mainnet params.
cotsuka has quit [Remote host closed the connection]
<_aj_>
darosior: would you care to be more specific?
<sipa>
darosior you're just talking about making the mainnet consensus params object non-const, and having some way to modify them from within unit tests, not through command-line options?
<darosior>
Ok i'll push a branch
<darosior>
I just want to let unit tests set -vbparams
<darosior>
Nothing more
cotsuka has joined #bitcoin-core-dev
<_aj_>
for which chain?
<darosior>
For the main chain
<_aj_>
so you are suggesting changing mainnet params
<darosior>
No, i'm suggesting to make it possible for a unit test to set the activation height of a soft fork. You are objecting as if i wanted to change the mainnet chainparams directly, which is obviously not the case.
<darosior>
You are also objecting by saying that having test vectors on mainnet is pointless if it's not the right activation height. But it's unreasonable, i can't know the activation before having test vectors for the soft fork in the first place.
<_aj_>
if you just want it for unit tests, then having some separate subclass of CMainParams that you access via something other than CChainParams::Main() could be plausible, but i remain skeptical that this is particularly useful
<sipa>
for segwit we created a segwit-specific test network, btw
<_aj_>
four of them or so iirc
<_aj_>
darosior: which rule sets do you want to change the activation height of?
<darosior>
I think that it's valuable for a soft fork that proposes a change to mainnet difficulty adjustment, to have test vectors that actually exercise mainnet difficulty adjustment. It's also not as if that required a massive change to Core, just let an already-existing setting not be exclusive to regtest.
<darosior>
I think it's easy for us to take a Core-centric perspective and i want to make sure the test vectors have as little Core-isms as possible.
<darosior>
_aj_: i want to be able to activate BIP54 when testing it. It does not have an activation height already.
<_aj_>
darosior: and you're happy to have BIP34 inactive until height 227931?
<darosior>
This specific unit test is exercising the timewarp and Murch-Zawy fixes. These are unrelated to BIP34.
<_aj_>
darosior: then why don't you just activate it via version bits signalling?
f321x_ has joined #bitcoin-core-dev
<darosior>
To do this i would need to set the vbparams, that's my point.
<_aj_>
darosior: oh, when the mainnet activation params are NEVER_ACTIVE?
f321x has quit [Ping timeout: 272 seconds]
<_aj_>
darosior: how are these tests supposed to work when activation parameters are determined, and eventually buried?
<darosior>
You can just set the buried height in the test then.
<darosior>
We have two arguments directing deployments, one for buried ones and one for version bits ones. My patch makes both available to non-regtest chains
<darosior>
Just make something that already exist not exclusive to regtest. That's it. Nothing more. Doesn't even need to be exposed to end users if we think it's such a bad idea.
<_aj_>
i don't think it's a good idea to expose it to core developers, let alone users
ghost43_ has joined #bitcoin-core-dev
<darosior>
I can do other hacks to be able to run BIP54 test vectors inside Core, that just seemed like the obvious neat way to go about it.
<_aj_>
am i understanding correctly that you're expecting other implementations to also just expose modified mainnet parameters in order to run your test vectors?
<darosior>
I'm doing that for other implementations in the first place.
l0rinc has quit [Quit: l0rinc]
ghost43 has quit [Remote host closed the connection]
<darosior>
To not expect them to implement Core-specific test networks such as Regtest.
l0rinc has joined #bitcoin-core-dev
<darosior>
If you have a better idea for testing the timewarp fix than a bunch of chains of headers with various timestamps at difficulty adjustment bounds, suggestions welcome.
vasild has quit [Remote host closed the connection]
vasild has joined #bitcoin-core-dev
<_aj_>
darosior: i'm not sure where you're putting the enforcement code exactly; but i would expect something that gives a [start-height, start-mediantime, start-nbits, vector<ntime>, valid-or-invalid?] and calls the test functions directly would be easier to use, and easier to examine
purpleKarrot has quit [Quit: purpleKarrot]
vasild has quit [Remote host closed the connection]
vasild has joined #bitcoin-core-dev
spynx is now known as spynxic
Talkless has joined #bitcoin-core-dev
rszarka has quit [Quit: Leaving]
szarka has joined #bitcoin-core-dev
f321x_ has quit [Quit: f321x_]
<darosior>
I think i'll just open the PR to inquisition and we can argue on the specifics there. I'm most of the way there, i mined the chains etc. But i'm happy to take an alternative approach if it makes more sense.
l0rinc has joined #bitcoin-core-dev
jonatack has joined #bitcoin-core-dev
l0rinc has quit [Quit: l0rinc]
jon_atack has quit [Ping timeout: 250 seconds]
l0rinc has joined #bitcoin-core-dev
JTL2 has quit [Quit: WeeChat 2.9]
l0rinc has quit [Quit: l0rinc]
enochazariah has quit [Quit: Client closed]
JTL has joined #bitcoin-core-dev
l0rinc has joined #bitcoin-core-dev
l0rinc has quit [Quit: l0rinc]
memset has quit [Remote host closed the connection]
<bitcoin-git>
bitcoin/master fabc261 MarcoFalke: test: Use extra_port() helper in feature_bind_extra.py
<bitcoin-git>
bitcoin/master 7502d4e Ava Chow: Merge bitcoin/bitcoin#33260: test: Use extra_port() helper in feature_bind...
<bitcoin-git>
[bitcoin] achow101 merged pull request #33260: test: Use extra_port() helper in feature_bind_extra.py (master...2508-test-extra-port-doc) https://github.com/bitcoin/bitcoin/pull/33260
jonatack has joined #bitcoin-core-dev
jonatack has quit [Ping timeout: 264 seconds]
brunoerg has joined #bitcoin-core-dev
brunoerg has quit [Remote host closed the connection]
kevkevin has quit [Remote host closed the connection]
brunoerg has joined #bitcoin-core-dev
l0rinc has quit [Quit: l0rinc]
l0rinc has joined #bitcoin-core-dev
<bitcoin-git>
[bitcoin] sipa closed pull request #31703: Use number of dirty cache entries in flush warnings/logs (master...202501_dirty_coin_count) https://github.com/bitcoin/bitcoin/pull/31703
brunoerg has quit [Ping timeout: 240 seconds]
kevkevin has joined #bitcoin-core-dev
cotsuka has quit [Remote host closed the connection]
cotsuka has joined #bitcoin-core-dev
cotsuka has quit [Remote host closed the connection]
cotsuka has joined #bitcoin-core-dev
cotsuka has quit [Remote host closed the connection]
cotsuka has joined #bitcoin-core-dev
cotsuka has quit [Remote host closed the connection]
cotsuka has joined #bitcoin-core-dev
cotsuka has quit [Remote host closed the connection]