Questions tagged [bitcoincore-review]

collects guidance on how to effectively review and test open Bitcoin Core PRs.

Filter by
Sorted by
Tagged with
1
vote
1answer
31 views

What mistakes do first time contributors to Bitcoin Core often make?

What mistakes do first time contributors to Bitcoin Core often make with their first pull request?
2
votes
1answer
21 views

Are there any other ways of speeding up the building of Bitcoin Core PRs other than ccache?

I am already using ccache to speed up recompilation when building Bitcoin Core PRs. Are there any other ways of speeding up the process?
4
votes
1answer
131 views

What is fuzz testing?

I've been looking at the Bitcoin Core PR review club sessions on fuzz testing here and here. Can you explain at a high level what is fuzz testing?
0
votes
1answer
45 views

Should I try to get fuzz testing working on MacOS or should I stick to Linux?

The Bitcoin Core fuzzing docs contain some hints for getting fuzz testing working on MacOS. But if I have access to a Linux machine/VM should I stick to doing all fuzzing on Linux? I'm assuming there ...
0
votes
1answer
53 views

Which fuzzer should I use to fuzz test Bitcoin Core?

In the Bitcoin Core fuzzing docs there are setup instructions for three different fuzzers: libFuzzer, american fuzzy lop (afl-fuzz) and Honggfuzz. Presumably I should try them in this order. How do ...
1
vote
1answer
33 views

Should I always run “make clean” between building different PR branches of Bitcoin Core?

I am switching between building different PR branches (ie I built one PR author's branch and now I am building a different PR author's branch). Jon Atack's doc suggests: On the other hand, when you ...
0
votes
1answer
31 views

How do I tweak the bip340_test_vectors to check that signature verification fails for other test vectors?

I now understand why some of the bip340_test_vectors fail signature verification. I would like to tweak these test vectors to check that signature verification fails for other test vectors. How do I ...
1
vote
1answer
94 views

I'm digging further into the open Taproot PR. Can you explain the bip340_test_vectors?

I'm digging further into the open Taproot PR. I found these bip340_test_vectors. They have secret keys, public keys, aux_rand (auxiliary randomness), message, signature and whether the signature ...
0
votes
1answer
43 views

How do I debug Taproot functional tests using pdb?

I am looking at the some of the Taproot functional tests such as feature_taproot.py to review the open Taproot PR. I would like to use pdb to debug these tests. Can you provide some guidance on how to ...
3
votes
1answer
221 views

I would like to dig into the open Taproot PR to understand it, test it and possibly even review it. Any advice or recommendations?

I would like to dig into the open Taproot PR (PR #19953) to understand it, test it and possibly even review it. Any advice or recommendations?
0
votes
1answer
67 views

What is an uninitialized read? Can you point out some examples found in Bitcoin Core? How do you detect them?

What is an uninitialized read? Can you point out some examples found in Bitcoin Core? How do you detect them?
2
votes
1answer
256 views

I have written a test for an open Bitcoin Core PR. Should I open a PR to the author's fork or wait for it to be merged?

I have written an additional test for an open Bitcoin Core pull request (PR). Should I seek to extend the PR by forking the author's fork of Bitcoin Core and opening a pull request to his PR branch? ...
2
votes
1answer
47 views

How do I set up IRC bouncer to receive messages and follow the discussion while I am offline?

I am now set up on IRC and I can attend the Bitcoin Core PR review club sessions. But when I am offline I can't receive messages and I can't follow the discussion which has happened during the time I ...
0
votes
2answers
59 views

What is ccache? When should I use it when building and reviewing Bitcoin Core PRs?

What is ccache? Can you provide some guidance on when to use it for building Bitcoin Core PRs and how to use it?
2
votes
1answer
123 views

What is Valgrind? When should I use it for debugging Bitcoin Core over using gdb, lldb, pdb etc?

I was watching Fabian Jahr's presentation on debugging Bitcoin Core at Bitcoin Edge Dev++ 2019. He mentioned Valgrind briefly at the end. What is it and when should I use it over gdb, lldb, pdb etc?
5
votes
2answers
113 views

How do I join the Bitcoin Core PR review club meetings on IRC?

I would like to learn about reviewing Bitcoin Core pull requests at the Bitcoin Core PR review club. How do I join the ##bitcoin-core-pr-reviews channel on IRC and which IRC client do you recommend I ...
1
vote
1answer
66 views

How do I build and review a Bitcoin Core GUI pull request?

I am a designer and I would like to start reviewing pull requests (PRs) in the Bitcoin Core GUI repository. How do I build the adjusted Bitcoin Core GUI in the pull request? I am used to just double ...
2
votes
1answer
79 views

Why do some Bitcoin Core “good first issues” require scripted-diffs?

I am looking at a good first issue on the Bitcoin Core repo to find and replace a string. But it appears I need to write a scripted-diff and the examples look complicated. What is the point of the ...
4
votes
1answer
57 views

Should I run the tests every time I review an open Bitcoin Core PR?

I am reviewing an open Bitcoin Core PR. Should I run the tests or can I rely on the CI (continuous integration) output to catch test failures? If I am to ACK a commit should I seek to catch flaky ...
3
votes
1answer
80 views

what is the significance (if any) of “ACKs for top commit:” in the git commit messages of bitcoin core?

There seems to be a reasonably standardized format for some, but not all, commit messages in bitcoin's git repository. For example, in addition to the usual expository commit message, this commit (...
6
votes
2answers
80 views

How much testing is done on each pull request before it is merged?

Frequently after one pull request is merged, multiple other pull requests follow to clean up a problem created by the first PR Recent example: https://github.com/bitcoin/bitcoin/pull/7957 https://...