3

libbitcoin is not, and was never a part of Bitcoin Core. Both are standalone implementations of the Bitcoin protocol. Bitcoin Core, in its build process, will create a number of files named "libbitcoin_...". These are just locally generated files that are unrelated to the libbitcoin project. Bitcoin Core does not have any files with the "hpp" extension. So ...


3

You actually did get the same hash. It's just that every Bitcoin software displays hashes byte swapped. If you look closely, you'll see that the first byte of your result (66) matches the last byte of the displayed merkleroot. The second byte matches the second to last byte, and so on. Internally, the merkleroot (and other hashes) are in the same order as ...


3

There is a fixed rate for how many bitcoins are mined each block. The block reward halves every 210,000 blocks, see Controlled Supply. Here is a short term bitcoin distribution projection from the Bitcoin Wiki: To calculate the total coins for a given block, try: coins.py block = 210000 * 10 totalCoins = 0 subsidy = 50.0 for i in range(1,block): if(...


2

These are not tests. They are simply warnings generated by the compiler indicating there may be an issue with the code being compiled. Most likely, it's just being overzealous and the developers are aware of this.


2

I just found out there is a github where the code is updated. The specific code for addr.cpp is this. Compilation works with --static e.g. g++ -o addr addr.cpp $(pkg-config --cflags --libs --static libbitcoin).


2

Your address 32feVAD9Haq1CtfT6JCLTt4L5qef3UnVpY is a P2SH mainnet address, with a 05 address prefix and represents the base58 encoding of the following data: [05][20-byte hash][4-byte checksum] So, the [05] prefix tells your wallet that your address represents a P2SH embedded script presage (20B). On the other hand, a [00] prefix tells your wallet that ...


1

It seems like pkg-config found libsecp256k1 in the build-libbitcoin directory. which is part of libbitcoin, so they probably build libsecp25k61 there. The reason your code doesn't compile is because your libsecp was compiled with libgmp enabled, now this is a dynamic link. So if you're trying to create a binary here you need to add -lgmp and if it's not in ...


1

The address 13ggzjqKyFGQZtxNWUoG4BFDPAgdBijUe4 is generated from a different word list, not the one you mentioned.


1

That message mentions -Wunused-function which is a compiler flag that invokes testing for useless functions that are defined in the source code but not used anywhere in the project. See stackoverflow It may be that large numbers of these warnings arise for the ARM hardware architecture but not for x86 or x86-64 hardware architectures because of conditional ...


1

Your code works well, but you have an error when you go to call the function getBlock(), with the bitcoin core reference the getBlock() function have a parameter and this parameter is the hash of the block. So, your code works because of the RPC framework response with an error bitcoin.rpc.JSONRPCError: {'code': -1, 'message': 'getblock "blockhash" ( ...


1

Try adding the -std=c++11 flag. I had the same problem and the following worked for me: g++ -std=c++11 -o test test.cpp $(pkg-config --cflags --libs libbitcoin)


1

I don't know much about c++ or libbitcoin, but I found a public method in the bc::wallet::ec_public class bool to_uncompressed(ec_uncompressed& out) const; So I guess you can probably convert your ec_public to ec_uncompressed(which is just a byte_array) by ec_uncompressed uncomp; <public key>.to_uncompressed(uncomp); std::cout << "...


1

Library modules provided by github/libbitcoin (incl. forked version of libsecp256k1) are by default installed using prefix /usr/local. configure script, that is run during build process, however, doesn't by default search for dependencies in /usr/local. So in order to make configure find other modules, one has to change the prefix for each module or tell the ...


1

It looks like there are issues with gcc on Mac. On an issue in the libbitcoin github repository 'evoskuil' states: gcc on osx is problematic because the ABI implementation is incomplete. It is further suggested to use "the native Mac clang++/clang compiler" instead of gcc. The libbitcoin Macintosh readme prescribes: Libbitcoin requires a C++11 ...


1

the libbitcoin framework is definitely meant for back-end development. If you don't want to compile the source from bitcoin-server, you can download the binaries for Windows, Linux and the Mac. See this slide presentation for an overview about libbitcoin. Obelisk, now called bitcoin-server (bs), is build upon libbitcoin framework that is built on top of ...


Only top voted, non community-wiki answers of a minimum length are eligible