Questions tagged [bitcoin-core-development]

Source code and development of Bitcoin Core, the reference implementation of Bitcoin.

Filter by
Sorted by
Tagged with
0 votes
0 answers
17 views

2 bitcoin transactions are stuck on mempool, one is CPFP

I use BlueWallet and I have two pending bitcoin transaction One outgoing One incoming The outgoing transaction is a CPFP Both the ancestors and descendants transaction are stuck for hours now How can ...
Mike's user avatar
  • 1
4 votes
1 answer
2k views

Where is the bitcoin source code is the 21 million hard cap stated?

I'd like to be able to see the 21,000,000 number.
Eoin McQuinn's user avatar
2 votes
1 answer
145 views

What does it mean that BIP141 is "buried" in Bitcoin core?

I am reading the list of BIPs implemented in Bitcoin core (link) and it says that BIP141 is "buried since v0.19.0", what does that mean? Does this mean that what written in BIP141 is no ...
joke's user avatar
  • 154
0 votes
1 answer
65 views

Who approves the merger of github pull requests to the Bitcoin Core master branch?

Does it have to be one of the 5 Lead Maintainers, or who can merge a pull request to the Bitcoin Core master branch?
Eoin McQuinn's user avatar
0 votes
1 answer
12 views

How can you transfer a seed that crashed a fuzz test via text?

When you run a fuzzer and it crashes, what is a way that you can easily transfer the fuzz seed to the author of the PR?
Murch's user avatar
  • 71.6k
1 vote
1 answer
115 views

What do the files in bitcoin/src/rpc/ do?

I know that RPC stands for Remote Procedure Call. Does Bitcoin Core do RPCs with other nodes on the network?
Eoin McQuinn's user avatar
2 votes
0 answers
22 views

No inv messages from inbound nodes

I'm writing a tx relay-only node that can accept inbound connections and make outbound ones. Just for research. What I'm seeing that on inbound nodes the initial handshake completes and the connection ...
Eva4684's user avatar
  • 41
2 votes
1 answer
57 views

Where can I find the list of all possible sendrawtransaction RPC error codes & messages?

Where can I find the list of all possible sendrawtransaction RPC error codes & messages? Such as this: {"code":-22,"message":"TX decode failed. Make sure the tx has at ...
jiamijiang's user avatar
2 votes
2 answers
254 views

Does each bitcoin node do Continuous Integration? Is this merely the process of the node syncing with the network? What is involved with it?

I notice the folder in the bitcoin core github repo for CI, and would like to know more about it. I have read the entry in Wikipedia for Continuous Integration.
Eoin McQuinn's user avatar
0 votes
1 answer
68 views

Understanding fee calculation in Bitcoin Core

In the following post Calculating fee based on fee rate for bitcoin transaction the respondent describes how the fees can be calculated. Since your transaction building starts with a known target ...
yancy's user avatar
  • 1
2 votes
2 answers
104 views

Why do we need github.com/bitcoin-core, when we already have github.com/bitcoin/bitcoin?

There is already github.com/bitcoin/bitcoin, so why do we need to have github.com/bitcoin-core? The GUI bit is stored in github.com/bitcoin/bitcoin under the qt section, so I don't see why we need to ...
Eoin McQuinn's user avatar
8 votes
1 answer
113 views

Why doesn't Bitcoin Core use auxiliary randomness when performing Schnorr signatures?

BIP340 recommends using auxiliary randomness in generation of the Schnorr signature nonce, as follows: Using unpredictable randomness additionally increases protection against other side-channel ...
Matthew Leon's user avatar
1 vote
1 answer
145 views

What does Bitcoin Core need to be upgraded to 1.0?

At what point is Bitcoin Core considered good enough to have its next version upgrade be 1.0? I understand there are good reasons to be conservative about versions numbering, but I genuinely wonder ...
thibm's user avatar
  • 33
1 vote
0 answers
48 views

How to fix this error?: Signature must be zero for failed CHECK(MULTI)SIG operation (code -26)

I'm trying to unlock money from P2SH 2NG4PEU9rya1fcqAfSvQQAteaUkvc54J1fF, but the library is not used by https://www.youtube.com/watch?v=U2bw_N6kQL8 When I combine the Tx, I hash the Tx with SHA256 ...
Mum Jokmok's user avatar
5 votes
1 answer
142 views

Why does bitcoin.core's algorithm uses ancestor score instead of just ancestor fee rate to select transactions?

In bitcoin.core's implementation of the greedy knapsack algorithm to select transactions to go into a block for mining, the heuristic used to order transactions is based on an "ancestor score&...
algo2043's user avatar
3 votes
1 answer
206 views

Questions about secp256k1_pubkey_load/save() implementation

I'm a newbie who has just started reading Bitcoin Core code. I have a lot of questions about seemingly trivial code. Right now, I have two questions. When branching to an if statement, why is the ...
r_comma_s's user avatar
1 vote
1 answer
99 views

Is it possible to use the getboolarg function in interpreter.cpp

I'm looking to use the GetBoolArg() function in the interpreter.cpp file what changes do I have to make for it to work? I'm still new to development c, I tried several #include but without success. ...
Retro_pex's user avatar
  • 107
1 vote
0 answers
40 views

Bitcoin Testnet blockchain data torrent

Is there a torrent to get the blockchain data faster for Bitcoin Testnet?
user142267's user avatar
6 votes
1 answer
864 views

How could Bitcoin developers handle and resolve severe software vulnerability without drawing public attention?

I am curious about the process Bitcoin developers follow to address and resolve critical software vulnerabilities, such as bugs or flaws, that could be exploited by attackers to disrupt the network or ...
deyw's user avatar
  • 416
0 votes
0 answers
20 views

An Unconfirmed transaction [duplicate]

I made a transaction with a very low fee and it has been more than 14 days (2weeks) it’s still showing pending. No confirmation nothing. I’m just wondering what will happen. Will the transaction ...
Emmanuel's user avatar
4 votes
1 answer
136 views

Is it okay to open a pull request while there there's little done?

I'm working on an issue in the Bitcoin Core. This is my first issue and so I have some questions. Is it good practice to open a pull request and ask reviewers of the pull request to help me or I ...
Amir reza Riahi's user avatar
3 votes
1 answer
136 views

Bitcoin Core v23 using more inputs than necessary costing more fees

Bitcoin core v23 has been handling input selection just fine until the feeRate (in kvb) was set to "0.0005". It began aggressively consolidating inputs costing me more in paying for ...
Sky Tech's user avatar
1 vote
0 answers
36 views

What is the difference between chain and chainman in the NodeContext in the Bitcoin Core?

In the NodeContext structure there are two members named chainman and chain. chainman is instance of ChainstateManager and chain is instance of interfaces::Chain. What is the differences between these ...
Amir reza Riahi's user avatar
2 votes
1 answer
134 views

What is the nBits field in the CBlockHeader class?

In the source code for the CBlockHeader class, there is a field called nBits. /** Nodes collect new transactions into a block, hash them into a hash tree, * and scan through nonce values to make the ...
Amir reza Riahi's user avatar
6 votes
1 answer
2k views

Why many classes in the Bitcoin Core prefix with a `C` while it is prohibited in the developer notes?

It's part of the developer notes in the documentation of Bitcoin Core: Class names, function names, and method names are UpperCamelCase (PascalCase). Do not prefix class names with C. See Internal ...
Amir reza Riahi's user avatar
2 votes
1 answer
67 views

What is CCoinsCacheEntry in the Bitcoin Core?

CCoinsCacheEntry is implemented here. /** * A Coin in one level of the coins database caching hierarchy. * * A coin can either be: * - unspent or spent (in which case the Coin object will be ...
Amir reza Riahi's user avatar
2 votes
1 answer
79 views

Why undo files are needed in the Bitcoin Core?

Undo files contain data needed to disconnect a block from the blockchain. It basically contains instances of CBlockUndo: /** Undo information for a CBlock */ class CBlockUndo { public: std::vector&...
Amir reza Riahi's user avatar
3 votes
0 answers
54 views

Next step to understand Bitcoin Core [duplicate]

After compiling Bitcoin Core, what should be my next step to understand the codebase? I’m a very new contributor and developer.
Tarun's user avatar
  • 31
6 votes
1 answer
589 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 ...
Schmidty's user avatar
  • 167
2 votes
1 answer
49 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 ...
Francesc0's user avatar
1 vote
1 answer
65 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 ...
Gringo Golf's user avatar
3 votes
1 answer
118 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 ...
codo's user avatar
  • 31
3 votes
1 answer
938 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 ...
Michael Folkson's user avatar
2 votes
1 answer
86 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 ...
Paul Kania's user avatar
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 ...
James O'Beirne's user avatar
3 votes
1 answer
249 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 ...
Son Kaos999's user avatar
1 vote
1 answer
136 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....
Kiminuo's user avatar
  • 78
8 votes
1 answer
659 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?
Casey Rodarmor's user avatar
1 vote
2 answers
349 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 ...
Hannah Vernon's user avatar
1 vote
1 answer
82 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 ...
Amir reza Riahi's user avatar
1 vote
1 answer
60 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 ...
Amir reza Riahi's user avatar
1 vote
1 answer
76 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
Nathan Pokharel's user avatar
2 votes
2 answers
257 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 ...
Amir reza Riahi's user avatar
0 votes
1 answer
46 views

What is TokenPipe class in the Bitcoin Core?

There is a class here in the Bitcoin core called TokenPipe. I've tried to figure out what is does but couldn't find anything useful. The comment says: An interprocess or interthread pipe for sending ...
Amir reza Riahi's user avatar
2 votes
1 answer
127 views

Why does the bitcoin client send transaction's txid and wtxid in 'inv' process?

I'm reading the source code of Bitcoin Core, and I found that in the inv process, nodes will relay both txid and wtxid to other peer nodes. I have the following questions: Why does the node send ...
noob's user avatar
  • 97
3 votes
2 answers
82 views

What is difference between hmac_sha256, hkdf_sha256 and hmac_sha_512?

In the open source (https://github.com/bitcoin/bitcoin/tree/master/src/crypto) there are these algrithms that as I know connected with gerenation the new keys and master key. So I try to understand ...
Gregory Morychev's user avatar
2 votes
1 answer
66 views

Where is chacha20 and chacha_poly_aead used in Bitcoin Core?

In the source code of Bitcoin Core there are these functions but no explanation of how and where they are used. I need to make a description for all crypto-functions used in Bitcoin Core (https://...
Gregory Morychev's user avatar
-2 votes
3 answers
144 views

What is the trust model in bitcoin?

Bitcoin.org seems to be hacked. How can it be reclaimed, especially since the listed address is receiving a lot of funding? More importantly, what is the procedure for a new user in establishing ...
skang404's user avatar
  • 616
0 votes
1 answer
68 views

Bucketing algorithm in Bitcoin

Bitcoin core states that an entry can be part of maximum 8 buckets. I don't understand how an entry can map to 8 buckets when the data in the entry is the same. uint64_t hash1 = (CHashWriter(...
Vinay Shetty's user avatar
1 vote
1 answer
77 views

Serialize data to get buckets

I am trying to recreate the bucketing algorithm of bitcoin using python, but I am stuck at this particular line because I am unable to recreate it using a simple double sha256. uint64_t hash1 = (...
Vinay Shetty's user avatar

1
2 3 4 5
12