Questions tagged [bitcoin-core-development]
Source code and development of Bitcoin Core, the reference implementation of Bitcoin.
564
questions
5
votes
1
answer
379
views
Why isn't the taproot deployment buried in Bitcoin Core?
Bitcoin Inquisition recently had a PR about soft fork activation and as part that PR, it buries taproot and references a closed PR to Bitcoin Core to bury taproot. Will the taproot deployment be ...
2
votes
1
answer
36
views
How Wallet Mobile Softwares deal with Wallet Balance and Transaction history?
I'm trying to build a mobile software Wallet made in Flutter with a Bitcoin Core Full node that communicates with a Node.js backend.
The problem I can't find the answer to is: how can wallet ...
1
vote
1
answer
42
views
Programming Bitcoin exercises in Java instead of Python
First I want to thank Jimmy Song for pointing me to this site. I'm running into a small problem with Chapter 4 Exercise 5: Find the Address corresponding to the public keys whose private key secrets ...
2
votes
0
answers
70
views
ThreadOpenConnections and break versus continue: why the one versus the other?
In the inner loop of ThreadOpenConnections() in net.cpp sometimes there is a break to the outer loop and sometimes a continue. This is my understanding of the decision between break and continue in ...
3
votes
1
answer
911
views
Why is the Bitcoin Core HWI written in Python? If it was rewritten in Rust should the Python HWI still be maintained?
Why is/was the Bitcoin Core HWI written in Python?
What have the challenges been of having the HWI written in Python?
There seems to be interest and rationale(s) to write another HWI in Rust. Would ...
2
votes
1
answer
77
views
The Codebase is full of acronyms - what is the best way to find out what they mean. Examples in body
ex 1 cs_m : critical section.
The thing is, even knowing 'm' stands for mutex, a google search of cs mutex doesn't lead to critical section, the meaning of cs as it turns out.
ex 2 pto : I'm guessing ...
12
votes
1
answer
1k
views
Why does Bitcoin Core print SHA256 hashes (uint256) bytes in reverse order?
When converting uint256 (the datatype used to represent hashes) to string in Bitcoin Core, the bytes are reversed. When debugging functional tests, this can create potential confusion when comparing ...
3
votes
1
answer
214
views
Why are AssumeValid blocks manually added?
Couldn't we just define an AssumeValid block each N blocks, instead of adding it manually?
What is the difference from just periodically picking sufficiently confirmed blocks? Anyway those blocks have ...
1
vote
1
answer
58
views
Where can I find the parser for `bitcoin.conf` files?
I have read bitcoin.conf Configuration File which mentions: The configuration file is a plain text file and consists of option=value entries, one per line. Leading and trailing whitespaces are removed....
7
votes
1
answer
581
views
Why are transaction input and output indices called `vin` and `vout`?
What does the v in vin and vout stand for? And is it an instance of a more general naming scheme?
1
vote
2
answers
191
views
BitcoinCore 22.1? or 24.0.1?
I just received a notification from the Bitcoin Core dev team that there is a "new" version of Bitcoin Core 22.1 available from their GitHub repo, however v24.0.1 was released just 3 days ...
1
vote
1
answer
77
views
How does CBlockLocator class works?
The CBlockLocator strucuture's purpose is:
Describes a place in the block chain to another node such that if the
other node doesn't have the same branch, it can find a recent common
trunk. The ...
1
vote
1
answer
46
views
Difference between 2 way of serialization in the Bitcoin Core
This answer, explains what are SERIALIZE_METHODS and DESERIALIZE_METHODS macros in the Bitcoin Core. They prevent duplicate code for implementing the serialization and deserialization logic. But I've ...
0
votes
1
answer
37
views
How do nodes communicate through tcp over different networks
It is said that the nodes communicate over tcp but how is that acheived across networks over different Nats
2
votes
2
answers
242
views
How are interfaces used and work in the Bitcoin Core?
There is a directory called interfaces. I've seen usage of interface classes in other places but never understood how do they work because they're trivially just an interface and therefore do nothing ...