Bitcoin Core Github
44 subscribers
121K links
Download Telegram
⚠️ Mdhlikoo-create opened an issue: "Bitcoin free 🆓"
(https://github.com/bitcoin/bitcoin/issues/33760)
### Please describe the feature you'd like to see added.

Bitcoin you can use as a community

### Is your feature related to a problem, if so please describe it.

_No response_

### Describe the solution you'd like

_No response_

### Describe any alternatives you've considered

_No response_

### Please leave any additional context

_No response_
willcl-ark closed an issue: "Bitcoin free 🆓"
(https://github.com/bitcoin/bitcoin/issues/33760)
🤔 TheCharlatan reviewed a pull request: "kernel: Introduce C header API"
(https://github.com/bitcoin/bitcoin/pull/30595#pullrequestreview-3407450551)
Thanks for the review @stringintech!

Updated 1ea43dc365c277f519f30f55dae6b0899e611765 -> a060f3296b6191dde03e4dd8d956ffdf19abca0b ([kernelApi_78](https://github.com/TheCharlatan/bitcoin/tree/kernelApi_78) -> [kernelApi_79](https://github.com/TheCharlatan/bitcoin/tree/kernelApi_79), [compare](https://github.com/TheCharlatan/bitcoin/compare/kernelApi_78..kernelApi_79))

* Addressed @stringintech's [comment](https://github.com/bitcoin/bitcoin/pull/30595#discussion_r2474390216), cleaned up frie
...
💬 TheCharlatan commented on pull request "kernel: Introduce C header API":
(https://github.com/bitcoin/bitcoin/pull/30595#discussion_r2483641160)
I don't think this is strictly necessary, since we only ever have a single validation interface registered internally at a time. However, I think we should mimic our own internal code's behavior here and always unregister manually first.
💬 TheCharlatan commented on pull request "kernel: Introduce C header API":
(https://github.com/bitcoin/bitcoin/pull/30595#discussion_r2483649981)
I ended up removing this altogether. This was introduced before I had a coherent flushing strategy for the chainman and before we had smarter regular flushing in validation. As such, I don't think it is useful anymore to force a flush here. Maybe we can re-introduce it when we eventually expose interfaces for allowing programmers to control the way data is written.
💬 TheCharlatan commented on pull request "kernel: Introduce C header API":
(https://github.com/bitcoin/bitcoin/pull/30595#discussion_r2483657499)
Yes, we might expose more information here later, and the split between between the enums might also be useful if we ever expose a `TxValidationState`.
💬 roconnor-blockstream commented on pull request "Relax standardness rules regarding CHECKMULTISIG":
(https://github.com/bitcoin/bitcoin/pull/33755#issuecomment-3476337221)
Bitcoin Core relay policy is largely motivated by not relaying third party malleable transactions. There is no reason to relay transactions if they are just going to be modified before they get mined.

Given the, unfortunately extensive, amount of malleability generally afford by Bitcoin Script's design, sometimes policy just limits third party malleable transactions to some canonical form, one that minimizes transaction size so that miners are not incentivized to reduce the size further. He
...
💬 roconnor-blockstream commented on pull request "Relax standardness rules regarding CHECKMULTISIG":
(https://github.com/bitcoin/bitcoin/pull/33755#issuecomment-3476339242)
@TheCharlatan I touch on this in the above, but I do want to explicitly note that the order of public keys that Counterparty uses changed in response to #5247 and the [the keys used to be in the other order](https://github.com/CounterpartyXCP/counterparty-core/commit/f1a8c82914b2f913560496e3d1becc1b63f88118#diff-b9154ac64e110b5561c5bcadc77b532aaea3f44eb53e9c4a76ae2ed3c6fad8b8L231-R261).
💬 TheCharlatan commented on pull request "(RFC) kernel: Replace leveldb-based BlockTreeDB with flat-file based store":
(https://github.com/bitcoin/bitcoin/pull/32427#issuecomment-3476389342)
Rebased daf0e9a3d45f42889fc5895fc580c73d060d2711 -> 00c5a8736532a0ca3c483d300e1d09d87be948f1 ([blocktreestore_5](https://github.com/TheCharlatan/bitcoin/tree/blocktreestore_5) -> [blocktreestore_6](https://github.com/TheCharlatan/bitcoin/tree/blocktreestore_6), [compare](https://github.com/TheCharlatan/bitcoin/compare/blocktreestore_5..blocktreestore_6))

* Fixed conflict with #31645
💬 oren-z0 commented on pull request "rest: allow reading partial block data from storage":
(https://github.com/bitcoin/bitcoin/pull/33657#discussion_r2483736256)
Why make verbosity optional, and not keep as-is?
💬 romanz commented on pull request "rest: allow reading partial block data from storage":
(https://github.com/bitcoin/bitcoin/pull/33657#discussion_r2483749818)
> Why make verbosity optional, and not keep as-is?

It allows reusing this function also for the new REST endpoint (`/blockpart/`) which doesn't support JSON response format.

> Where is it called with a null value?

It is called by `rest_block_part()` here:
https://github.com/romanz/bitcoin/blob/c30647c4d34c2941696729704854467b30657c43/src/rest.cpp#L502
💬 andrewtoth commented on pull request "[IBD] coins: reduce lookups in dbcache layer propagation":
(https://github.com/bitcoin/bitcoin/pull/33602#discussion_r2483807860)
Can we hoist this check out before the `try_emplace`, and just `continue` if this is the case?
💬 andrewtoth commented on pull request "[IBD] coins: reduce lookups in dbcache layer propagation":
(https://github.com/bitcoin/bitcoin/pull/33602#discussion_r2483809503)
I also think it would make sense to have a default `true`. However, if we want to be more explicit about intent to reuse the cache rather than implementation details of what we do if we don't, should we rename this parameter something more descriptive like `will_reuse`? That is the first thing that came to mind, maybe there are better names.
💬 sdaftuar commented on pull request "Cluster mempool":
(https://github.com/bitcoin/bitcoin/pull/33629#issuecomment-3476628311)
Implemented a fix for the locking issue in 51d213d1449b61665628ce9b4e0209cff3c4f818. Left it unsquashed for easier review; if this approach seems ok I'll squash it with the prior commit.

FYI for reviewers: the insertion of the `AssertLockHeld()` in txmempool.h in that commit is what made the bug easy to reproduce in our tests (using a debug build).
⚠️ cobratbq opened an issue: "Is not demanding low-R grinding still relevant for external signers?"
(https://github.com/bitcoin/bitcoin/issues/33761)
### Is there an existing issue for this?

- [x] I have searched the existing issues

### Current behaviour

It seems that largest transaction coming from (my) external signer is not accepted in mempool. From what I understand, low-R grinding is not expected from external signers. That's what I understand <https://github.com/bitcoin/bitcoin/issues/26030>.

Is this still true? (it is desirable) This is the result for me in 'regtest' environment on Bitcoin Core v29.2.

### Expected behaviour

Any t
...
💬 Sjors commented on pull request "miner: don't needlessly append dummy OP_0 to bip34":
(https://github.com/bitcoin/bitcoin/pull/32420#issuecomment-3476735672)
Indeed the `bad-cb-length` check has been around since the first commit, of course without a documented reason.

https://github.com/bitcoin/bitcoin/blob/e071a3f6c06f41068ad17134189a4ac3073ef76b/main.h#L454-L457

There was also no documented for adding `nBits` to the coinbase `scriptSig`, before the `extraNonce`.

https://github.com/bitcoin/bitcoin/blob/e071a3f6c06f41068ad17134189a4ac3073ef76b/main.cpp#L2236-L2244

But as you point out in your historical overview, [nBits was swapped for n
...
💬 l0rinc commented on pull request "validation: do not wipe utxo cache for stats/scans/snapshots":
(https://github.com/bitcoin/bitcoin/pull/33680#discussion_r2483930942)
We could, but I'm not touching that line, it's complicated enough as it is.
💬 l0rinc commented on pull request "validation: do not wipe utxo cache for stats/scans/snapshots":
(https://github.com/bitcoin/bitcoin/pull/33680#discussion_r2483930960)
Good point, changed to `false`, added you as coauthor, thanks.
💬 l0rinc commented on pull request "validation: do not wipe utxo cache for stats/scans/snapshots":
(https://github.com/bitcoin/bitcoin/pull/33680#issuecomment-3476858887)
Thanks @optout21 & @cedwies, split the change to 2 commits, one just renames the old value and adjusts the docs and scripts, the second introduces the new value.
💬 andrewtoth commented on pull request "validation: fetch block inputs on parallel threads >20% faster IBD":
(https://github.com/bitcoin/bitcoin/pull/31132#issuecomment-3476888214)
Rebased to test behavior with #31645.
Some other touch-ups include:
- Use `const COutPoint&` in `Input` struct instead of `vin` and `vtx` indexes
- Cleanup shared vectors and pointers at the end of loop
- Refactor inner work loop to do fewer existence checks at the expense of some duplicated code
- Use `std::atomic_usize_t` instead of `std::atomic<usize_t>`
- Use `GetPossiblySpentCoinFromCache` in tests and fuzz harness for better clarity and correctness