Questions tagged [bitcoincore-development]

This tag should be used for questions regarding Bitcoin Core development. This includes questions about the source code and development of Bitcoin Core.

Filter by
Sorted by
Tagged with
1
vote
0answers
20 views

How bitcoin network manages to append block in front of parallel blocks added by multiple nodes at the same time

Well, according to my research, After solving the cryptographic hash, when the multiple nodes broadcast the block at the same time as a suggestion to be the next block in the chain. How and why the ...
1
vote
1answer
31 views

How the bitcoin network solves the double-spending problem by adding all the transactions that happened at the same time into one block

According to my research, I understand if person A sends 2 BTC to person B and at the same time person A sends the same input to himself before the input is considered as spent. So, now there will be ...
2
votes
1answer
18 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
99 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
32 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
34 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 ...
3
votes
2answers
149 views

Who really controls Bitcoin?

Surely if there was a major bug discovered in the Bitcoin architecture, there is someone who would have the power to push an update and fix it. Then I assume that they could also make changes for ...
0
votes
1answer
28 views

Advanced math operations in TapScript?

Hence BIP 342 proposes to enable opcodes like OP_MOD, OP_DIV, OP_MUL is it possible to perform advanced math operations like EC point addition/multiplication in a script size of up to 10kB?
3
votes
1answer
253 views

When does Bitcoin update the UTXO set?

I am kind of confused with something. I hope you can clarify it for me... Let's say I want to make a transaction. So my exchange wallet does that for me. The way it does this is it first grabs the ...
0
votes
1answer
15 views

how does bitcoinjs-lib grab utxo

So, Let's say I want to create a transaction by using bitcoinjs-lib. As far as I can see, this library doesn't provide the help so that it can automatically figure out/grab unpent transactions for ...
1
vote
1answer
50 views

How to improve bitcoin-qt when downloading blockchain? (very technical, dev views appreciated)

GitHub suggested discussing here before bothering developers with an issue. So be it! :) I'm running Bitcoin Core Version v0.20.1 and Linux Mint 18.3 on crappy old hardware. Pruning blockchain to 2 G ...
1
vote
1answer
25 views

What RBF policy will be default on SegWit v1 nodes?

What RBF node policy will be applied by default in order for a SegWit v1 transaction to relay when encountered. Full RBF, or Opt-in RBF?
1
vote
1answer
30 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 ...
1
vote
1answer
42 views

Taproot - Eliminating Key Path

I want to struct a transaction output the key-path of which I want to be eliminated, so enforcing only the script path. In order to eliminate key-path, in my opinion, I should set "Internal ...
1
vote
1answer
33 views

Can I speed up the running of functional tests?

I am running the Bitcoin Core functional tests using the test runner and it is taking a long time to get through all the tests. Is there a way to speed it up? test/functional/test_runner.py --extended
4
votes
1answer
468 views

How do devs decide who should have commit access? what is the process?

Andrew Chow (2020) compiled a great list on when people gained/lost commit access to Bitcoin Core. Satoshi asked Andresen to take over as Lead Maintainer, and Andresen passed the responsibility to Van ...
2
votes
1answer
48 views

Are P2SH transactions with disabled opcodes relayed/mined?

Many OPCODES like OP_AND, OP_CAT, OP_SUBSTR are disabled as described in https://en.bitcoin.it/wiki/Script. Although, with Bitcoin Core 0.10.0 Gavin Andresen proposed "any Script" in P2SH ...
2
votes
1answer
63 views

How will the migration tool from a Bitcoin Core legacy wallet to a descriptor wallet work?

In this Andrew Chow blog post on what's coming to the Bitcoin Core wallet in 0.21 he states: It is, and will be, possible to take an existing Legacy Wallet, and make a Descriptor Wallet which exactly ...
5
votes
1answer
613 views

Why is the Bitcoin Core wallet database moving from Berkeley DB to SQLite?

Why is the Bitcoin Core wallet moving from Berkeley DB to SQLite for its database backend?
2
votes
1answer
38 views

DumpMempool() and LoadMempool() in src/validation.cpp

My understanding is that DumpMempool() saves the memory pool state (unconfirmed txs received from other peers and if any txs broadcasted from this node) to disk and LoadMempool() is used if this state ...
0
votes
1answer
34 views

If I delay upgrading to the latest Bitcoin Core version post Taproot activation does my node ever verify early Taproot spends?

Let's assume the Taproot soft fork is activated in June 2021. I continue to run an old version of Bitcoin Core (not enforcing Taproot rules) in July 2021 and so my full node treats valid Taproot ...
0
votes
1answer
18 views

What is stopping a Taproot spend following old Taproot rules (initially treated as anyone-can-spend) pre-activation creating a re-org post activation?

This question is similar to this Signet question on Signet nodes enforcing different Taproot rules (old and new) pre mainnet activation. Instead it is regarding how a valid Taproot spend on mainnet ...
0
votes
1answer
30 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 ...
0
votes
1answer
26 views

What does the Bitcoin Core linearize script do? What use cases would make use of it?

What does the Bitcoin Core linearize script do? The Bitcoin Core docs state it will: Construct a linear, no-fork, best version of the Bitcoin blockchain. By "linear, no-fork" blockchain ...
1
vote
1answer
92 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 ...
1
vote
1answer
29 views

Who will the first adopters of Taproot be (assuming it is activated at some stage)? What incentives are there to start using it straight away?

Adoption of SegWit by users and companies after it was activated was slow. Should we expect adoption of Taproot to be slow also (assuming it is activated at some stage)? Who will the first adopters of ...
0
votes
1answer
30 views

Sending regtest Bitcoin fails with an error message. How do I resolve this error? [duplicate]

When I try to send regtest Bitcoin using bitcoin-cli: ./bitcoin-cli -regtest sendtoaddress bc1q09vm5lfy0j5reeulh4x5752q25uqqvz34hufdl 0.1 I get the error message: error code: -6 error message: Fee ...
0
votes
1answer
74 views

I want to create a P2TR (pay-to-taproot) address but I just need a key path spend, not a script path spend. How do I create the P2TR address?

I want to create a P2TR (pay-to-taproot) address but I just want access to the key path spend, I have no use for the script path spend in this specific example. Do I hash an arbitrary string to use as ...
0
votes
1answer
24 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
212 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
61 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?
1
vote
0answers
42 views

Bitcoin “scantxoutset” rpc command return response too slow

For one of our decentralized mobile wallet, We need to fetch balance of imported BTC address quickly. After lot of research on google then I found Bitcoin deamon rpc command "scantxoutset", ...
0
votes
1answer
37 views

Two threats to Bitcoin: Quantum Computing and Mining farm seizures - what new BIPs are needed before it is too late? [closed]

How resistant is bitcoin blockchain against physical attacks? Contrary to other consensus mechanisms, Bitcoin's PoW model is dependent on massive Mining Farms with tons of ASIIC hardware. These farms ...
2
votes
1answer
30 views

What are some examples of previous first contributions improving Bitcoin Core tests?

I have heard that improving the Bitcoin Core tests is a good way to start contributing to Bitcoin Core. What are some good examples of previous first contributions to the tests to take some ...
0
votes
1answer
18 views

How can I analyze the test coverage of the Bitcoin Core codebase?

I have heard writing tests is a good starting point for contributing to Bitcoin Core. How do I work out which parts or specific lines of the codebase need additional test coverage?
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
33 views

What is in the Bitcoin Core LevelDB dbcache? Is it full records or metadata?

What is in the Bitcoin Core LevelDB dbcache? Is it full records or metadata? This question was asked on IRC by Anonymous.
0
votes
2answers
48 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
116 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?
0
votes
1answer
19 views

How do I view information on the peers my Bitcoin Core full node is connected to?

I would like to view information on the peers my Bitcoin Core full node is connected to. How do I do this?
-3
votes
1answer
35 views

What should I do with my crippled Bitcoin Core? How can it be this unstable still after 10+ years?

Recently, I've had serious issues with my Bitcoin Core. I've installed old versions and reinstalled the new version and done everything to debug it, but it's just crippled. It either gets stuck ...
1
vote
1answer
62 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 ...
0
votes
1answer
18 views

What is the difference between node, peer and mininode in the functional test framework in Bitcoin Core?

I am learning about the functional test framework in Bitcoin Core. I am seeing the terms "node", "peer" and "mininode" being used. How are these defined and how are they ...
5
votes
2answers
167 views

How do I get started debugging Bitcoin Core functional tests?

I would like to get started with debugging Bitcoin Core code. I have heard debugging Bitcoin Core functional tests is a good place to start as they are in Python rather than C++ and they are easier to ...
1
vote
1answer
71 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 ...
0
votes
1answer
75 views

How to generate Hash160 from a private key with the Bitcoin module

I want to fix the script code. The script generates from a random private key Bitcoin Address by function (pubtoaddr) and works on the Bitcoin module: https://github.com/primal100/pybitcointools/blob/...
4
votes
1answer
53 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 ...
2
votes
0answers
50 views

Who were the Bitcoin maintainers before 2014? When did maintainers gain/lose merge access? [duplicate]

The Bitcoin lead maintainer and co-maintainers have merge access (i.e. they can approve changes to Bitcoin source code). We can see who the maintainers were since 2014: https://github.com/bitcoin/...
6
votes
1answer
186 views

How does Bitcoin Core know it's on the longest chain?

In trying to implement a client, I am wondering what is the most efficient approach to figure out if you are on a fork. Let's say you pick a peer at random and go through IBD using the headers-first ...
2
votes
1answer
75 views

Can we experiment on Signet with multiple proposed soft forks whilst maintaining the ability of full nodes to validate the Signet chain?

One of the goals of Signet is to test proposed soft forks before they are activated on mainnet. Not only does this mean proposed soft forks such as Taproot that at the time of writing (August 2020) ...

1
2 3 4 5
9