Bitcoin Core Github
44 subscribers
121K links
Download Telegram
💬 kevkevinpal commented on pull request "Add multiplication operator to CFeeRate":
(https://github.com/bitcoin/bitcoin/pull/29037#discussion_r1421212317)
nit: To me it confused me for a moment cause I didn't realize that f was using the operator defined on the line above, I think it would make more sense for a reader to just see the same thing above defined backwards like so

`friend CFeeRate operator*(int a, const CFeeRate& f) { return CFeeRate(f.nSatoshisPerK * a); }`

feel free to ignore this suggestion though
💬 murchandamus commented on pull request "wallet: Add CoinGrinder coin selection algorithm":
(https://github.com/bitcoin/bitcoin/pull/27877#issuecomment-1848150890)
Scenario: bustabit-tiny-hot-wallet_6h-YTD-2023

| Scenario File | Current Balance | Mean #UTXO | Current #UTXO | #Deposits | #Inputs Spent | #Withdraws | #Uneconomical outputs spent | #Change Created | #Changeless | Min Change Value | Max Change Value | Mean Change Value | Std. Dev. of Change Value | Total Fees | Mean Fees per Withdraw | Cost to Empty (10 sat/vB) | Total Cost | Min Input Size | Max Input Size | Mean Input Size | Std. Dev. of Input Size | Usage |
| --- | --- | --- | --- | ---
...
💬 murchandamus commented on pull request "wallet: Add CoinGrinder coin selection algorithm":
(https://github.com/bitcoin/bitcoin/pull/27877#issuecomment-1848191242)
Scenario: bustabit-tiny-hot-wallet_peak-and-tail

| Scenario File | Current Balance | Mean #UTXO | Current #UTXO | #Deposits | #Inputs Spent | #Withdraws | #Uneconomical outputs spent | #Change Created | #Changeless | Min Change Value | Max Change Value | Mean Change Value | Std. Dev. of Change Value | Total Fees | Mean Fees per Withdraw | Cost to Empty (10 sat/vB) | Total Cost | Min Input Size | Max Input Size | Mean Input Size | Std. Dev. of Input Size | Usage |
| bustabit-tiny-hot-wallet_p
...
📝 ajtowns opened a pull request: "202312 vbits simplify"
(https://github.com/bitcoin/bitcoin/pull/29039)
<!--
*** Please remove the following help text before submitting: ***

Pull requests without a rationale and clear improvement may be closed
immediately.

GUI-related pull requests should be opened against
https://github.com/bitcoin-core/gui
first. See CONTRIBUTING.md
-->

<!--
Please provide clear motivation for your patch and explain how it improves
Bitcoin Core user experience or Bitcoin Core developer experience
significantly:

* Any test improvements or new tests that improv
...
📝 ajtowns converted_to_draft a pull request: "versionbits refactoring"
(https://github.com/bitcoin/bitcoin/pull/29039)
Increases the encapsulation/modularity of the versionbits code, moving more of the logic into the versionbits module rather than having it scattered across validation and rpc code.
💬 ajtowns commented on pull request "versionbits refactoring":
(https://github.com/bitcoin/bitcoin/pull/29039#issuecomment-1848232374)
At the end of this sequence of patches the `VersionBitsCache` object provides a standalone interface to all the "versionbits" features needed by bitcoin core, which means that if the BIP9/speedy trial implementation is changed in future, it should be possible to do that in one place, without needing to change validation/RPC code as well.

This also simplifies and modernises some of the code, much of which has been proposed previously (eg, removing the params arguments from AbstractThresholdCon
...
💬 helpau commented on pull request "sync: improve CCoinsViewCache ReallocateCache":
(https://github.com/bitcoin/bitcoin/pull/28945#issuecomment-1848265773)
Hi, is this benchmark for HDD or SSD? Did you tried to run benchmark with huge dbcache and high height?
💬 maflcko commented on issue "Software wont launch":
(https://github.com/bitcoin/bitcoin/issues/29033#issuecomment-1848332041)
> Four hours have passed, software is stuck on "verifying blocks, press Q to close" initial screen.

The software is verifying the blocks that were downloaded previously. This may take a long time, depending on your system. You can look at the tail of the debug log to see the current exact status.

> I killed the process as it was only at 20% of "verifying", so I noticed it won't open for the entire day.

Killing means it'll likely have discarded the progress. This shouldn't cause any issu
...
💬 martinus commented on pull request "sync: improve CCoinsViewCache ReallocateCache":
(https://github.com/bitcoin/bitcoin/pull/28945#issuecomment-1848332095)
I only measured it on an SSD, and only with relatively low dbcache size so flushing is triggered more often which I think would give more accurate results. But more benchmarks are definitely appreciated :)
💬 maflcko commented on issue "Software wont launch":
(https://github.com/bitcoin/bitcoin/issues/29033#issuecomment-1848332099)
You can find the debug.log in your [data dir](https://github.com/bitcoin/bitcoin/blob/master/doc/files.md#data-directory-location).

Please be aware that the debug log might contain personally identifying information.
💬 maflcko commented on issue "test: Intermittent issue in rpc_net.py":
(https://github.com/bitcoin/bitcoin/issues/29030#issuecomment-1848332405)
Yes, I haven't looked at the code, but I presumed it was the same issue/fix.
💬 maflcko commented on pull request "test: fix `addnode` functional test failure on OpenBSD":
(https://github.com/bitcoin/bitcoin/pull/29035#issuecomment-1848360906)
lgtm. Is the code in 26.x and does it need backport?
💬 theStack commented on pull request "test: fix `addnode` functional test failure on OpenBSD":
(https://github.com/bitcoin/bitcoin/pull/29035#issuecomment-1848394286)
> lgtm. Is the code in 26.x and does it need backport?

No backport needed, the PR containing the code (#28155, commit 94e8882d820969ddc83f24f4cbe1515a886da4ea) was merged to master after 26.x branched off.
📝 maflcko opened a pull request: " refactor: Remove pre-C++20 code, fs::path cleanup"
(https://github.com/bitcoin/bitcoin/pull/29040)
This:

* Removes dead code.
* Avoids unused copies in some places.
* Adds copies in other places for safety.
💬 maflcko commented on pull request "Avoid returning references to mutex guarded members":
(https://github.com/bitcoin/bitcoin/pull/28774#issuecomment-1848396710)
> > No objection to changing the code, but if this is worth it to change, it should be done for all places in the whole codebase, not just some places.
>
> These are all reported (by clang 18). I see `ArgsManager::GetDataDir()` has the same issue. Maybe it was not detected because of the `?:` operator. I have extended the first commit to cover that too.

Thanks, I've taken the commit and put it in https://github.com/bitcoin/bitcoin/pull/29040, because it fits into the other fs::path changes
...
📝 theStack opened a pull request: "test: fix intermittent error in rpc_net.py (#29030)"
(https://github.com/bitcoin/bitcoin/pull/29041)
Asserting for the debug log message "Added connection peer=" is insufficient for ensuring that this new connection will show up in a following getpeerinfo() call, as the debug message is written in the CNode ctor, which means it hasn't necessarily been added to CConnman.m_nodes at this point.

Solve this by using the recently introduced `wait_for_new_peer` helper (see #29006, commit 00e0658e77f66103ebdeb29def99dc9f937c049d), which is more robust.

Fixes #29030.
💬 maflcko commented on pull request "test: fix intermittent error in rpc_net.py (#29030)":
(https://github.com/bitcoin/bitcoin/pull/29041#issuecomment-1848397786)
lgtm ACK ea00f982d21aab51001d422225f00626a74db298
💬 hebasto commented on pull request "Add missing byteswap functions for MSVC":
(https://github.com/bitcoin/bitcoin/pull/29036#issuecomment-1848407150)
> Converted this to draft because I haven't actually tested the compile for MSVC (relying on c-i :( )

It compiles OK.

> and because we'll need solid benchmarks before making any decisions.

What subset of benchmarks we might consider representative enough?

For now, I'm observing very tiny (a couple of %) improvements in some of them.

Also we should remember that MSVC build uses no optimisation (see e94ae810a55da16fce6040714677b9d50781bebd).
💬 josibake commented on pull request "wallet: Pass through transaction locktime and preset input sequences and scripts to CreateTransaction":
(https://github.com/bitcoin/bitcoin/pull/25273#issuecomment-1848409559)
ACK https://github.com/bitcoin/bitcoin/commit/0295b44c257fe23f1ad344aff11372d67864f0db

Thanks for taking the suggestions! Looks like the CI failure is a transient failure, I ran the same test locally and it passed. Probably just needs to be re-run.