Questions tagged [c++]

General purpose programming language.

Filter by
Sorted by
Tagged with
5 votes
2 answers
347 views

Was the addition of OP_NOP codes in Bitcoin 0.3.6 a hard or soft fork?

I'm doing some deeper research into historical consensus changes and it seems like most folks consider the addition of the OP_NOP codes to be a hard fork. Here's the diff for their addition: https://...
user avatar
0 votes
0 answers
50 views

Import libbitcoin-system as static library on Windows

I build an Android wallet for Bitcoin so I need to link libbitcoin-system as a library to my CMake project to use it. I built libbitcoin-system with build_all.bat in Windows as instructed in https://...
user avatar
0 votes
2 answers
88 views

What is the actual working implementation code used in double hashing a block header in c++?

I need to successfully generate a hash value based on what i feel so far has been described as a hexadecimal filtered sha256 implementation... or something like that. I've been here , here , here, ...
user avatar
0 votes
1 answer
768 views

Proper way to get sha256 hash in c++ using openssl?

Given the following variables: unsigned char text [] = "Test String"; unsigned int len = strlen ((const char*) text); unsigned char hash [SHA256_DIGEST_LENGTH]; Is there any reason to do ...
user avatar
1 vote
1 answer
583 views

How to generate private/public key pairs in c++ using openssl

I have 2 questions: How can I generate private/public key pairs with c++ and openssl? I don't want them saved to a file. I want the values to be available to my c++ program. Given a private key, how ...
user avatar
4 votes
1 answer
125 views

Why is CAmount a signed integer?

Is there is reason why Bitcoin uses signed instead of unsigned integers for amounts? I can't imagine a scenario where negative amounts could come up. Was it simply something Satoshi implemented for ...
user avatar
  • 83
0 votes
2 answers
76 views

How do i create/implement a midstate function (One that can accurately calculate the midstate of already mined blocks)

I'm creating an AI controlled bitcoin miner but I'm having trouble manually & locally creating a midstate function to be used for optimizing the mining process. Basically I've created independent ...
user avatar
2 votes
0 answers
379 views

Compiling bitcoin error : A compiler with support for C++17 language features is required

I am reading the "Mastering bitcoin: Programming the Open Blockchain" book by Andreas Antonopolous. In the chapter about compiling bitcoin, the instructions were to execute first ./autogen....
user avatar
2 votes
1 answer
100 views

Why does the chacha20 implemented in the Bitcoin Core use a 64 bit nonce?

The draft of chacha20 uses a 64-bit nonce, but the final version of chacha20 specification uses a 96-bit nonce. The #9792 PR adds chacha20 to Bitcoin Core. We can see the function ChaCha20::SetIV(...
user avatar
  • 23
2 votes
0 answers
110 views

Version message C++

I learn bitcoin and I am trying to send a version message and get response, respectevily, by using C++. I can not find any examples or articles how to do it in C++. I'm forming request and send it by ...
user avatar
1 vote
0 answers
22 views

Which wallets support French seed-phrases? [duplicate]

I found an old backup seedphrase but it is has French words in it, and I've been struggling to find wallet to restore it as it seems most wallets support only English. There has to be a wallet that ...
user avatar
  • 11
0 votes
1 answer
38 views

What does net_processing cover conceptually in the Bitcoin Core codebase?

What does net_processing (.h and .cpp) cover conceptually in the Bitcoin Core codebase?
user avatar
1 vote
1 answer
85 views

Translate c++ function into python: sha256 hash mismatch [closed]

This is not related to bitcoin but it uses most of the bitcoin codebase. I would like to translate some c++ code into python but struggle really hard to get the hashes right. This is the function I ...
user avatar
  • 113
1 vote
0 answers
96 views

Use wallet db for locked UTXOs in Bitcoin Core

Related question: Why are UTXO locks stored in memory only? Sorry this maybe a dumb question for people good with using database in C++ however I am not able to understand what exactly is going wrong ...
user avatar
1 vote
1 answer
46 views

What do the classes ChainstateManager, CChainState, CChain and BlockManager do in Bitcoin Core?

What do the classes ChainstateManager, CChainState, CChain and BlockManager do in Bitcoin Core? Why do CChainState and CChain have a leading 'C', but ChainstateManager and BlockManager don't? These ...
user avatar
1 vote
1 answer
68 views

What is cs_main? Why is it called cs_main?

What is cs_main? Why is it called cs_main? This question was asked during the May 12th 2021 Bitcoin Core PR review club hosted by John Newbery on a Carl Dong PR to de-globalize ChainstateManager. (The ...
user avatar
1 vote
1 answer
55 views

What does validation cover conceptually in the Bitcoin Core codebase?

What does validation (.h and .cpp) cover conceptually in the Bitcoin Core codebase? This question was asked by Larry Ruane at the May 12th 2021 Bitcoin Core PR review club on a Carl Dong PR to de-...
user avatar
0 votes
1 answer
266 views

how to hash block header in c++

I want to hash a block header in C++ but dont know how. Im just using a test block at the moment, so that I know what the expected outcome is. https://www.blockchain.com/btc/block/669892 I have a ...
user avatar
0 votes
0 answers
209 views

How do I hash header block with C++

So im trying to hash a header in C++ and I am having some trouble. I have tried different libraries (cryptopp, openssl) cant seem to hash the header correctly. This is the block which I am testing: ...
user avatar
1 vote
1 answer
49 views

Feasibility of using Ring Signatures with CoinJoin Technique

There is a Ring Signature implementation in C++ by Libbitcoin team. We can find the details in the following GitHub repository. Is it feasible to use Monero like Ring Signatures together with the ...
user avatar
6 votes
1 answer
291 views

What version of C++ is used in Bitcoin Core?

I can't find the information on which C++ version is being currently used in bitcoin core project? Is it decided for future releases somehow? How does the situation looks now? The only thing I could ...
user avatar
  • 1,584
6 votes
2 answers
823 views

Is it doable to supplant the current Bitcoin Core implementation with another rewritten in a different language?

Can Bitcoin Core be rewritten in another language, let's say Rust, and could such an implementation supplant the current one in C++ without the users of Bitcoin experiencing some sort of reset/lost of ...
user avatar
1 vote
0 answers
64 views

How can I add the MySQL C++ connector to Bitcoin Makefile?

I'm trying to add a custom function to my bitcoin client that queries a mysql db. I followed this guide for the basic: https://technology.finra.org/code/compile-run-customize-your-own-bitcoin-client....
user avatar
  • 11
1 vote
2 answers
369 views

How to get block height, if I have only block header?

Imagine I executed ReadBlockFromDisk and now I have valid instance of CBlock. How do I read height of this block? CBlock block = ...; CBlockIndex index(block); assert (index.nHeight != 0); // fails,...
user avatar
0 votes
2 answers
471 views

Problem to link to libsecp256k1 on ARM architecture

Trying to compile with g++ -o addr 69_addr2.cpp $(pkg-config --cflags --libs libbitcoin) is getting me this error: /usr/bin/ld: /home/pi/libbitcoininstall/lib/libsecp256k1.a(libsecp256k1_la-secp256k1....
user avatar
  • 458
0 votes
1 answer
232 views

where can I get resource such as Blockchain technology in C++

I have found a lot of pdf files about Ethereum smart contract and JavaScript cryptocurrency. I still want to know about resources such as C++ cryptocurrency. Let me know about some good resources.
user avatar
1 vote
2 answers
243 views

Was libbitcoin a part of bitcoin core in the past?

I am trying to use c++ code from the book of Antonopoulos for some time now and I seem to lack an include named bitcoin/bitcoin.hpp. To compile the code the g++ compiler gets a pkg-config input with ...
user avatar
  • 458
2 votes
2 answers
135 views

Is writing unit tests a good way to start contributing to Bitcoin core?

I'm considering writing unit tests to Bitcoin core as a first step to C++ development and Bitcoin contribution. Anyone have any suggestions about the journey I'm about to begin and possible files that ...
user avatar
2 votes
1 answer
105 views

How to understand wallets?

I'm trying to generate a mnemonic seed, and everything that goes with that. I'm using c++ / libbitcoin, using the following code - https://github.com/libbitcoin/libbitcoin-system/wiki/Examples-from-...
user avatar
  • 21
3 votes
1 answer
205 views

How to update an older C++ code from Antonopoulos' book to work with current libraries?

I am trying to compile a code in C++ from the Book "Mastering Bitcoin" by Antonopoulos (page 69). I am new to all of this, including C++, python, etc. I see it as a way of doing something ...
user avatar
  • 458
2 votes
2 answers
482 views

Bitcoin value as int64_t or as double

I want to do program that doing some calculations with bitcoin values. I know bitcoin have 8 digits after decimal point (please correct me). If I store the value as double I worry that I might lose ...
user avatar
  • 211
1 vote
1 answer
185 views

Bitcoin compilation error: conflicting declaration

I'm trying to compile the Bitcoin source (1) on Ubuntu and I get: In file included from bench/data.cpp:10:0: ./bench/data/block413567.raw.h:1:40: error: conflicting declaration ‘const unsigned char ...
user avatar
  • 200
0 votes
0 answers
39 views

add mysql dependency configure.ac bitcoin

i am working on bitcoin code, my aim is to move blockchain data to relational db but i am not able to resolve mysql dependency for different platform, platform includes mac and ubuntu. I have tried ...
user avatar
0 votes
1 answer
82 views

Where is the code which rejects transactions with insuffisent balance?

Simple question but I can’t find the answer again. Where is the code which rejects transactions when the value of inputs is below the value of outputs (because I think to recall that check works like ...
user avatar
1 vote
1 answer
254 views

How happens the serealization the data in the file blkxxxx.dat in the bitcoin

I'm writing a blockchain parser for bitcoin core with C++ and now I want to enrich the data I read with the raw transaction and the previous and next block hashes. I used this library to convert the ...
user avatar
0 votes
1 answer
134 views

How to get amount in RPC

I am developing a bitcoin wallet for education purposes, and i'm working on a getbalance method that given an address i return the balance of the address. Problem is, when communicating via the RPC ...
user avatar
  • 1
0 votes
1 answer
3k views

Looking for code generate bitcoin address from passphase in C++

i'm try to write a program which generate bitcoin address from given hash sha256 of passphase as private key or given hex private key. I've found a library for this but it required Boost package in ...
user avatar
0 votes
1 answer
185 views

find a CTransaction from a prevout in Bitcoin source code

I'm trying to come up with this function: CTransaction getTxFromPrevout(COutPoint prevo); The idea being... when a new transaction is about to be validated, it will go through all of it's tx.vin[i]....
user avatar
0 votes
1 answer
542 views

bitcoin compile (.undefined reference to **')

I'm getting error after make command like, undefined reference to `BlockAssembler::BlockAssembler(CChainParams const&)' and in last Makefile:774: recipe for target 'all-recursive' failed make:...
user avatar
  • 3
1 vote
0 answers
36 views

Failing to create a new address to be used for receiving staking rewards whenever a generated block is accepted [closed]

Our problem is that we need to get a new address on each stake. What I've tried so far is: Generating a new address right before a block is accepted and try using it to receive the stakes, but that ...
user avatar
  • 11
0 votes
1 answer
328 views

Parse scripts to extract address [duplicate]

I want to parse a script with c++ to gain an output address from it. can anybody introduce a suitable library or a sample code which extract addresses from scripts ?
user avatar
  • 125
0 votes
1 answer
546 views

How can I create uncompressed public key in C++?

I need to derive public key from my private key in uncompressed form. I know how to create compressed one with libbitcoin, but I can't find appropriate method for uncompressed form there. Are there ...
user avatar
  • 113
1 vote
0 answers
81 views

I'm trying to compile Bitcoin Gold but i'm still getting this error [closed]

In file included from ./addrman.h:14:0, from net.h:10, from miner.cpp:18: miner.cpp: In member function ‘std::unique_ptr BlockAssembler::CreateNewBlock(const CScript&,...
user avatar
3 votes
1 answer
3k views

Forking PIVX - ERROR: CheckBlockHeader() : proof of work failed [closed]

I have forked PIVX and generated new genesis block hash, merkle root and nonce, and changed the rewards parameters. It compiles fine and the daemon starts, I have even got 2 nodes connected, but ...
user avatar
0 votes
2 answers
486 views

C++ error building a fork of Bitcoin-ABC [closed]

I'm creating a Bitcoin-ABC based altcoin, everything was fine when I compiled dynamically for my Ubuntu machine, but when I try making a static release build I get: CXXLD libbitcoinconsensus.la ....
user avatar
1 vote
2 answers
928 views

Encountering “ReadBlockFromDisk: Errors in block header at CBlockDiskPos(nFile=0, nPos=8)” error when I ran modified litecoin chainparams.cpp

First: I am a newbite to altcoin development, next to generate an altcoin from litecoin, 1- I have made a clone of litecoin using git clone https://githubcom/litecoin-project/lotecoin.git 2- I changed ...
user avatar
1 vote
1 answer
1k views

How to debug bitcoin core in "real time"

I am new to bitcoin core and C++ I downloaded already the project from: https://github.com/bitcoin/bitcoin and run "makefile" command. Now I can make all transaction against the blockchain. I want ...
user avatar
  • 11
-1 votes
2 answers
1k views

Altcoin fork tutorial

Is there any tutorial for altcoin fork creation? I've found only tutorials for the very old versions, and any for the current ones.
user avatar
0 votes
2 answers
197 views

Where does the Bitcoin Core code serialize the number of transactions?

I've been studying the Bitcoin Core code, and I noticed that it uses a template READWRITE to serialize data structures for storing blocks. But it never seems to actually call "READWRITE(nTxs)", the ...
user avatar
0 votes
1 answer
396 views

A short program to mine a block

Anyone can give step-by-step explanation about the code below (if possible, with a c/c++ equivalent)? import hashlib, struct ver = 2 prev_block = "...
user avatar