GithubHelp home page GithubHelp logo

bitcoinjs / fast-dat-parser Goto Github PK

View Code? Open in Web Editor NEW
74.0 74.0 26.0 205 KB

Superfast blockchain parser for stats

License: MIT License

Makefile 3.32% C++ 94.59% Shell 1.02% Python 1.07%
bitcoin blockchain cplusplus fast-dat-parser high-performance stream

fast-dat-parser's People

Contributors

dcousens avatar ddustin avatar junderw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fast-dat-parser's Issues

Re-testing

With f084818, the code needs to be re-verified.

Overall, the safety and guarantees of the programs validity have increased... but it was still a major refactor.

How to read parsed data?

Hello,

Thank you for this really fast block parser
May I ask you if this work fine for rev*.dat files too?
instead of
cat ~/.bitcoin/blocks/blk*.dat | ./parser -j4 -t1 -wchain.dat > ~/.bitcoin/scripts.dat
doing this (removing blk)
cat ~/.bitcoin/blocks/*.dat | ./parser -j4 -t1 -wchain.dat > ~/.bitcoin/scripts.dat

After I parsed all blocks how to read the data from scripts.dat file?

Usage instructions

Got this successfully compiled and running. I tried the command:

cat ~/.bitcoin/blocks/blk02272.dat | ./parser -t1 | ./bestchain > chain.dat

Which is the latest blk*.dat file as of writing the issue request.

It creates a chain.dat file. How do I read the chain.dat file, or how do I use the chain.dat file?

How can i use it to get list of all vout and vin ?

i have successfully compiled on my centos and did

cat ~/.bitcoin/blocks/blk*.dat | ./parser -t0 | ./bestchain > chain.dat

cat ~/.bitcoin/blocks/blk*.dat | ./parser -j4 -t1 -wchain.dat > scripts.dat

whats next ?

sorry but this whole binary thing is kinda confusing for me.,

thanks for your time.

g++ 8.3 compilation fail

g++ -pedantic -std=c++1z -W -Wall -Wcast-qual -Wconversion -Werror -Wextra -Wwrite-strings -Wno-unused-function -O3 -Iinclude -MMD -MP -c src/bestchain.cpp -o src/bestchain.o
In file included from src/bestchain.cpp:6:
include/hash.hpp: In function ‘auto {anonymous}::toHexBE(const uint256_t&)’:
include/hash.hpp:60:16: error: ‘retro’ was not declared in this scope
   return toHex(retro(hash));
                ^~~~~
include/hash.hpp:60:16: note: suggested alternative: ‘perror’
   return toHex(retro(hash));
                ^~~~~
                perror
src/bestchain.cpp: In function ‘int main()’:
src/bestchain.cpp:148:30: error: no match for ‘operator<< (operand types are ‘std::basic_ostream<char>’ and ‘void’)
   std::cerr << "- Genesis: " << toHexBE(genesis.hash) << std::endl;
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/iostream:39,
                 from src/bestchain.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:108:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__ostream_type& (*)(std::basic_ostream<_CharT, _Traits>::__ostream_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
       operator<<(__ostream_type& (*__pf)(__ostream_type&))
       ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:108:7: note:   no known conversion for argument 1 from ‘void’ to ‘std::basic_ostream<char>::__ostream_type& (*)(std::basic_ostream<char>::__ostream_type&)’ {aka ‘std::basic_ostream<char>& (*)(std::basic_ostream<char>&)’}
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:117:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__ios_type& (*)(std::basic_ostream<_CharT, _Traits>::__ios_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>; std::basic_ostream<_CharT, _Traits>::__ios_type = std::basic_ios<char>]’
       operator<<(__ios_type& (*__pf)(__ios_type&))
       ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:117:7: note:   no known conversion for argument 1 from ‘void’ to ‘std::basic_ostream<char>::__ios_type& (*)(std::basic_ostream<char>::__ios_type&)’ {aka ‘std::basic_ios<char>& (*)(std::basic_ios<char>&)’}
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:127:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::ios_base& (*)(std::ios_base&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
       operator<<(ios_base& (*__pf) (ios_base&))
       ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:127:7: note:   no known conversion for argument 1 from ‘void’ to ‘std::ios_base& (*)(std::ios_base&)’
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:166:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
       operator<<(long __n)
       ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:166:7: note:   no known conversion for argument 1 from ‘void’ to ‘long int’
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:170:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
       operator<<(unsigned long __n)
       ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:170:7: note:   no known conversion for argument 1 from ‘void’ to ‘long unsigned int’
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:174:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(bool) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
       operator<<(bool __n)
       ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:174:7: note:   no known conversion for argument 1 from ‘void’ to ‘bool’
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:693,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/iostream:39,
                 from src/bestchain.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/ostream.tcc:91:5: note: candidate: ‘std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(short int) [with _CharT = char; _Traits = std::char_traits<char>]’
     basic_ostream<_CharT, _Traits>::
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/ostream.tcc:91:5: note:   no known conversion for argument 1 from ‘void’ to ‘short int’
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/iostream:39,
                 from src/bestchain.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:181:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(short unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
       operator<<(unsigned short __n)
       ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:181:7: note:   no known conversion for argument 1 from ‘void’ to ‘short unsigned int’
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:693,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/iostream:39,
                 from src/bestchain.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/ostream.tcc:105:5: note: candidate: ‘std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(int) [with _CharT = char; _Traits = std::char_traits<char>]’
     basic_ostream<_CharT, _Traits>::
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/ostream.tcc:105:5: note:   no known conversion for argument 1 from ‘void’ to ‘int’
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/iostream:39,
                 from src/bestchain.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:192:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
       operator<<(unsigned int __n)
       ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:192:7: note:   no known conversion for argument 1 from ‘void’ to ‘unsigned int’
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:201:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
       operator<<(long long __n)
       ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:201:7: note:   no known conversion for argument 1 from ‘void’ to ‘long long int’
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:205:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
       operator<<(unsigned long long __n)
       ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:205:7: note:   no known conversion for argument 1 from ‘void’ to ‘long long unsigned int’
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:220:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(double) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
       operator<<(double __f)
       ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:220:7: note:   no known conversion for argument 1 from ‘void’ to ‘double’
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:224:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(float) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
       operator<<(float __f)
       ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:224:7: note:   no known conversion for argument 1 from ‘void’ to ‘float’
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:232:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long double) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
       operator<<(long double __f)
       ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:232:7: note:   no known conversion for argument 1 from ‘void’ to ‘long double’
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:245:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(const void*) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
       operator<<(const void* __p)
       ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:245:7: note:   no known conversion for argument 1 from ‘void’ to ‘const void*’
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:693,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/iostream:39,
                 from src/bestchain.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/ostream.tcc:119:5: note: candidate: ‘std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__streambuf_type*) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__streambuf_type = std::basic_streambuf<char>]’
     basic_ostream<_CharT, _Traits>::
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/ostream.tcc:119:5: note:   no known conversion for argument 1 from ‘void’ to ‘std::basic_ostream<char>::__streambuf_type*’ {aka ‘std::basic_streambuf<char>*’}
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/basic_string.h:48,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/string:52,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/locale_classes.h:40,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/ios_base.h:41,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/ios:42,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:38,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/iostream:39,
                 from src/bestchain.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/string_view:545:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, std::basic_string_view<_CharT, _Traits>)’
     operator<<(basic_ostream<_CharT, _Traits>& __os,
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/string_view:545:5: note:   template argument deduction/substitution failed:
src/bestchain.cpp:148:53: note:   mismatched types ‘std::basic_string_view<_CharT, _Traits>’ and ‘void’
   std::cerr << "- Genesis: " << toHexBE(genesis.hash) << std::endl;
                                                     ^
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/string:52,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/locale_classes.h:40,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/ios_base.h:41,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/ios:42,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:38,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/iostream:39,
                 from src/bestchain.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/basic_string.h:6323:5: note: candidate: ‘template<class _CharT, class _Traits, class _Alloc> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Allocator>&)’
     operator<<(basic_ostream<_CharT, _Traits>& __os,
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/basic_string.h:6323:5: note:   template argument deduction/substitution failed:
src/bestchain.cpp:148:53: note:   mismatched types ‘const std::basic_string<_CharT, _Traits, _Allocator>’ and ‘void’
   std::cerr << "- Genesis: " << toHexBE(genesis.hash) << std::endl;
                                                     ^
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/ios_base.h:46,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/ios:42,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:38,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/iostream:39,
                 from src/bestchain.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/system_error:217:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::error_code&)’
     operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e)
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/system_error:217:5: note:   template argument deduction/substitution failed:src/bestchain.cpp:148:40: note:   cannot convert ‘{anonymous}::toHexBE(genesis.Block::hash)’ (type ‘void’) to type ‘const std::error_code&’
   std::cerr << "- Genesis: " << toHexBE(genesis.hash) << std::endl;
                                 ~~~~~~~^~~~~~~~~~~~~~
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/iostream:39,
                 from src/bestchain.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:497:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, _CharT)’
     operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c)
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:497:5: note:   template argument deduction/substitution failed:
src/bestchain.cpp:148:53: note:   deduced conflicting types for parameter ‘_CharT’ (‘char’ and ‘void’)
   std::cerr << "- Genesis: " << toHexBE(genesis.hash) << std::endl;
                                                     ^
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/iostream:39,
                 from src/bestchain.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:502:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, char)’
     operator<<(basic_ostream<_CharT, _Traits>& __out, char __c)
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:502:5: note:   template argument deduction/substitution failed:
src/bestchain.cpp:148:40: note:   cannot convert ‘{anonymous}::toHexBE(genesis.Block::hash)’ (type ‘void’) to type ‘char’
   std::cerr << "- Genesis: " << toHexBE(genesis.hash) << std::endl;
                                 ~~~~~~~^~~~~~~~~~~~~~
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/iostream:39,
                 from src/bestchain.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:508:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, char)’
     operator<<(basic_ostream<char, _Traits>& __out, char __c)
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:508:5: note:   template argument deduction/substitution failed:
src/bestchain.cpp:148:40: note:   cannot convert ‘{anonymous}::toHexBE(genesis.Block::hash)’ (type ‘void’) to type ‘char’
   std::cerr << "- Genesis: " << toHexBE(genesis.hash) << std::endl;
                                 ~~~~~~~^~~~~~~~~~~~~~
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/iostream:39,
                 from src/bestchain.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:514:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, signed char)’
     operator<<(basic_ostream<char, _Traits>& __out, signed char __c)
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:514:5: note:   template argument deduction/substitution failed:
src/bestchain.cpp:148:40: note:   cannot convert ‘{anonymous}::toHexBE(genesis.Block::hash)’ (type ‘void’) to type ‘signed char’
   std::cerr << "- Genesis: " << toHexBE(genesis.hash) << std::endl;
                                 ~~~~~~~^~~~~~~~~~~~~~
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/iostream:39,
                 from src/bestchain.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:519:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, unsigned char)’
     operator<<(basic_ostream<char, _Traits>& __out, unsigned char __c)
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:519:5: note:   template argument deduction/substitution failed:
src/bestchain.cpp:148:40: note:   cannot convert ‘{anonymous}::toHexBE(genesis.Block::hash)’ (type ‘void’) to type ‘unsigned char’
   std::cerr << "- Genesis: " << toHexBE(genesis.hash) << std::endl;
                                 ~~~~~~~^~~~~~~~~~~~~~
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/iostream:39,
                 from src/bestchain.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:539:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const _CharT*)’
     operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s)
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:539:5: note:   template argument deduction/substitution failed:
src/bestchain.cpp:148:53: note:   mismatched types ‘const _CharT*’ and ‘void’
   std::cerr << "- Genesis: " << toHexBE(genesis.hash) << std::endl;
                                                     ^
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:693,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/iostream:39,
                 from src/bestchain.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/ostream.tcc:321:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const char*)’
     operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s)
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/ostream.tcc:321:5: note:   template argument deduction/substitution failed:
src/bestchain.cpp:148:40: note:   cannot convert ‘{anonymous}::toHexBE(genesis.Block::hash)’ (type ‘void’) to type ‘const char*’
   std::cerr << "- Genesis: " << toHexBE(genesis.hash) << std::endl;
                                 ~~~~~~~^~~~~~~~~~~~~~
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/iostream:39,
                 from src/bestchain.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:556:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const char*)’
     operator<<(basic_ostream<char, _Traits>& __out, const char* __s)
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:556:5: note:   template argument deduction/substitution failed:
src/bestchain.cpp:148:40: note:   cannot convert ‘{anonymous}::toHexBE(genesis.Block::hash)’ (type ‘void’) to type ‘const char*’
   std::cerr << "- Genesis: " << toHexBE(genesis.hash) << std::endl;
                                 ~~~~~~~^~~~~~~~~~~~~~
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/iostream:39,
                 from src/bestchain.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:569:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const signed char*)’
     operator<<(basic_ostream<char, _Traits>& __out, const signed char* __s)
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:569:5: note:   template argument deduction/substitution failed:
src/bestchain.cpp:148:40: note:   cannot convert ‘{anonymous}::toHexBE(genesis.Block::hash)’ (type ‘void’) to type ‘const signed char*’
   std::cerr << "- Genesis: " << toHexBE(genesis.hash) << std::endl;
                                 ~~~~~~~^~~~~~~~~~~~~~
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/iostream:39,
                 from src/bestchain.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:574:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const unsigned char*)’
     operator<<(basic_ostream<char, _Traits>& __out, const unsigned char* __s)
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:574:5: note:   template argument deduction/substitution failed:
src/bestchain.cpp:148:40: note:   cannot convert ‘{anonymous}::toHexBE(genesis.Block::hash)’ (type ‘void’) to type ‘const unsigned char*’
   std::cerr << "- Genesis: " << toHexBE(genesis.hash) << std::endl;
                                 ~~~~~~~^~~~~~~~~~~~~~
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/iostream:39,
                 from src/bestchain.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:682:5: note: candidate: ‘template<class _Ostream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_ostream<_Ostream>, std::__is_insertable<typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type, const _Tp&, void> >::value, typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type>::type std::operator<<(_Ostream&&, const _Tp&)’
     operator<<(_Ostream&& __os, const _Tp& __x)
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:682:5: note:   template argument deduction/substitution failed:
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream: In substitution of ‘template<class _Ostream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_ostream<_Ostream>, std::__is_insertable<typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type, const _Tp&, void> >::value, typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type>::type std::operator<<(_Ostream&&, const _Tp&) [with _Ostream = std::basic_ostream<char>&; _Tp = void]’:
src/bestchain.cpp:148:53:   required from here
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:682:5: error: forming reference to void
In file included from include/hash.hpp:4,
                 from src/bestchain.cpp:6:
/opt/rh/devtoolset-8/root/usr/include/c++/8/iomanip:79:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, std::_Resetiosflags)’
     operator<<(basic_ostream<_CharT, _Traits>& __os, _Resetiosflags __f)
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/iomanip:79:5: note:   template argument deduction/substitution failed:
src/bestchain.cpp:148:40: note:   cannot convert ‘{anonymous}::toHexBE(genesis.Block::hash)’ (type ‘void’) to type ‘std::_Resetiosflags’
   std::cerr << "- Genesis: " << toHexBE(genesis.hash) << std::endl;
                                 ~~~~~~~^~~~~~~~~~~~~~
In file included from include/hash.hpp:4,
                 from src/bestchain.cpp:6:
/opt/rh/devtoolset-8/root/usr/include/c++/8/iomanip:109:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, std::_Setiosflags)’
     operator<<(basic_ostream<_CharT, _Traits>& __os, _Setiosflags __f)
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/iomanip:109:5: note:   template argument deduction/substitution failed:
src/bestchain.cpp:148:40: note:   cannot convert ‘{anonymous}::toHexBE(genesis.Block::hash)’ (type ‘void’) to type ‘std::_Setiosflags’
   std::cerr << "- Genesis: " << toHexBE(genesis.hash) << std::endl;
                                 ~~~~~~~^~~~~~~~~~~~~~
In file included from include/hash.hpp:4,
                 from src/bestchain.cpp:6:
/opt/rh/devtoolset-8/root/usr/include/c++/8/iomanip:143:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, std::_Setbase)’
     operator<<(basic_ostream<_CharT, _Traits>& __os, _Setbase __f)
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/iomanip:143:5: note:   template argument deduction/substitution failed:
src/bestchain.cpp:148:40: note:   cannot convert ‘{anonymous}::toHexBE(genesis.Block::hash)’ (type ‘void’) to type ‘std::_Setbase’
   std::cerr << "- Genesis: " << toHexBE(genesis.hash) << std::endl;
                                 ~~~~~~~^~~~~~~~~~~~~~
In file included from include/hash.hpp:4,
                 from src/bestchain.cpp:6:
/opt/rh/devtoolset-8/root/usr/include/c++/8/iomanip:178:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, std::_Setfill<_CharT>)’
     operator<<(basic_ostream<_CharT, _Traits>& __os, _Setfill<_CharT> __f)
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/iomanip:178:5: note:   template argument deduction/substitution failed:
src/bestchain.cpp:148:53: note:   mismatched types ‘std::_Setfill<_CharT>’ and ‘void’
   std::cerr << "- Genesis: " << toHexBE(genesis.hash) << std::endl;
                                                     ^
In file included from include/hash.hpp:4,
                 from src/bestchain.cpp:6:
/opt/rh/devtoolset-8/root/usr/include/c++/8/iomanip:208:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, std::_Setprecision)’
     operator<<(basic_ostream<_CharT, _Traits>& __os, _Setprecision __f)
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/iomanip:208:5: note:   template argument deduction/substitution failed:
src/bestchain.cpp:148:40: note:   cannot convert ‘{anonymous}::toHexBE(genesis.Block::hash)’ (type ‘void’) to type ‘std::_Setprecision’
   std::cerr << "- Genesis: " << toHexBE(genesis.hash) << std::endl;
                                 ~~~~~~~^~~~~~~~~~~~~~
In file included from include/hash.hpp:4,
                 from src/bestchain.cpp:6:
/opt/rh/devtoolset-8/root/usr/include/c++/8/iomanip:238:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, std::_Setw)’
     operator<<(basic_ostream<_CharT, _Traits>& __os, _Setw __f)
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/iomanip:238:5: note:   template argument deduction/substitution failed:
src/bestchain.cpp:148:40: note:   cannot convert ‘{anonymous}::toHexBE(genesis.Block::hash)’ (type ‘void’) to type ‘std::_Setw’
   std::cerr << "- Genesis: " << toHexBE(genesis.hash) << std::endl;
                                 ~~~~~~~^~~~~~~~~~~~~~
In file included from include/hash.hpp:4,
                 from src/bestchain.cpp:6:
/opt/rh/devtoolset-8/root/usr/include/c++/8/iomanip:311:5: note: candidate: ‘template<class _CharT, class _Traits, class _MoneyT> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, std::_Put_money<_MoneyT>)’
     operator<<(basic_ostream<_CharT, _Traits>& __os, _Put_money<_MoneyT> __f)
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/iomanip:311:5: note:   template argument deduction/substitution failed:
src/bestchain.cpp:148:53: note:   mismatched types ‘std::_Put_money<_MoneyT>’ and ‘void’
   std::cerr << "- Genesis: " << toHexBE(genesis.hash) << std::endl;
                                                     ^
In file included from include/hash.hpp:4,
                 from src/bestchain.cpp:6:
/opt/rh/devtoolset-8/root/usr/include/c++/8/iomanip:363:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, std::_Put_time<_CharT>)’
     operator<<(basic_ostream<_CharT, _Traits>& __os, _Put_time<_CharT> __f)
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/iomanip:363:5: note:   template argument deduction/substitution failed:
src/bestchain.cpp:148:53: note:   mismatched types ‘std::_Put_time<_CharT>’ and ‘void’
   std::cerr << "- Genesis: " << toHexBE(genesis.hash) << std::endl;
                                                     ^
src/bestchain.cpp:149:26: error: no match for ‘operator<<’ (operand types are ‘std::basic_ostream<char>’ and ‘void’)
   std::cerr << "- Tip: " << toHexBE(tip.hash) << std::endl;
   ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/iostream:39,
                 from src/bestchain.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:108:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__ostream_type& (*)(std::basic_ostream<_CharT, _Traits>::__ostream_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
       operator<<(__ostream_type& (*__pf)(__ostream_type&))
       ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:108:7: note:   no known conversion for argument 1 from ‘void’ to ‘std::basic_ostream<char>::__ostream_type& (*)(std::basic_ostream<char>::__ostream_type&)’ {aka ‘std::basic_ostream<char>& (*)(std::basic_ostream<char>&)’}
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:117:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__ios_type& (*)(std::basic_ostream<_CharT, _Traits>::__ios_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>; std::basic_ostream<_CharT, _Traits>::__ios_type = std::basic_ios<char>]’
       operator<<(__ios_type& (*__pf)(__ios_type&))
       ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:117:7: note:   no known conversion for argument 1 from ‘void’ to ‘std::basic_ostream<char>::__ios_type& (*)(std::basic_ostream<char>::__ios_type&)’ {aka ‘std::basic_ios<char>& (*)(std::basic_ios<char>&)’}
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:127:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::ios_base& (*)(std::ios_base&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
       operator<<(ios_base& (*__pf) (ios_base&))
       ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:127:7: note:   no known conversion for argument 1 from ‘void’ to ‘std::ios_base& (*)(std::ios_base&)’
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:166:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
       operator<<(long __n)
       ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:166:7: note:   no known conversion for argument 1 from ‘void’ to ‘long int’
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:170:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
       operator<<(unsigned long __n)
       ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:170:7: note:   no known conversion for argument 1 from ‘void’ to ‘long unsigned int’
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:174:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(bool) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
       operator<<(bool __n)
       ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:174:7: note:   no known conversion for argument 1 from ‘void’ to ‘bool’
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:693,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/iostream:39,
                 from src/bestchain.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/ostream.tcc:91:5: note: candidate: ‘std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(short int) [with _CharT = char; _Traits = std::char_traits<char>]’
     basic_ostream<_CharT, _Traits>::
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/ostream.tcc:91:5: note:   no known conversion for argument 1 from ‘void’ to ‘short int’
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/iostream:39,
                 from src/bestchain.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:181:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(short unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
       operator<<(unsigned short __n)
       ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:181:7: note:   no known conversion for argument 1 from ‘void’ to ‘short unsigned int’
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:693,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/iostream:39,
                 from src/bestchain.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/ostream.tcc:105:5: note: candidate: ‘std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(int) [with _CharT = char; _Traits = std::char_traits<char>]’
     basic_ostream<_CharT, _Traits>::
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/ostream.tcc:105:5: note:   no known conversion for argument 1 from ‘void’ to ‘int’
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/iostream:39,
                 from src/bestchain.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:192:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
       operator<<(unsigned int __n)
       ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:192:7: note:   no known conversion for argument 1 from ‘void’ to ‘unsigned int’
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:201:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
       operator<<(long long __n)
       ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:201:7: note:   no known conversion for argument 1 from ‘void’ to ‘long long int’
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:205:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
       operator<<(unsigned long long __n)
       ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:205:7: note:   no known conversion for argument 1 from ‘void’ to ‘long long unsigned int’
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:220:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(double) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
       operator<<(double __f)
       ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:220:7: note:   no known conversion for argument 1 from ‘void’ to ‘double’
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:224:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(float) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
       operator<<(float __f)
       ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:224:7: note:   no known conversion for argument 1 from ‘void’ to ‘float’
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:232:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long double) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
       operator<<(long double __f)
       ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:232:7: note:   no known conversion for argument 1 from ‘void’ to ‘long double’
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:245:7: note: candidate: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(const void*) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]’
       operator<<(const void* __p)
       ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:245:7: note:   no known conversion for argument 1 from ‘void’ to ‘const void*’
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:693,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/iostream:39,
                 from src/bestchain.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/ostream.tcc:119:5: note: candidate: ‘std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__streambuf_type*) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__streambuf_type = std::basic_streambuf<char>]’
     basic_ostream<_CharT, _Traits>::
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/ostream.tcc:119:5: note:   no known conversion for argument 1 from ‘void’ to ‘std::basic_ostream<char>::__streambuf_type*’ {aka ‘std::basic_streambuf<char>*’}
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/basic_string.h:48,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/string:52,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/locale_classes.h:40,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/ios_base.h:41,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/ios:42,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:38,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/iostream:39,
                 from src/bestchain.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/string_view:545:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, std::basic_string_view<_CharT, _Traits>)’
     operator<<(basic_ostream<_CharT, _Traits>& __os,
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/string_view:545:5: note:   template argument deduction/substitution failed:
src/bestchain.cpp:149:45: note:   mismatched types ‘std::basic_string_view<_CharT, _Traits>’ and ‘void’
   std::cerr << "- Tip: " << toHexBE(tip.hash) << std::endl;
                                             ^
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/string:52,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/locale_classes.h:40,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/ios_base.h:41,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/ios:42,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:38,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/iostream:39,
                 from src/bestchain.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/basic_string.h:6323:5: note: candidate: ‘template<class _CharT, class _Traits, class _Alloc> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Allocator>&)’
     operator<<(basic_ostream<_CharT, _Traits>& __os,
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/basic_string.h:6323:5: note:   template argument deduction/substitution failed:
src/bestchain.cpp:149:45: note:   mismatched types ‘const std::basic_string<_CharT, _Traits, _Allocator>’ and ‘void’
   std::cerr << "- Tip: " << toHexBE(tip.hash) << std::endl;
                                             ^
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/ios_base.h:46,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/ios:42,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:38,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/iostream:39,
                 from src/bestchain.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/system_error:217:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::error_code&)’
     operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e)
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/system_error:217:5: note:   template argument deduction/substitution failed:src/bestchain.cpp:149:36: note:   cannot convert ‘{anonymous}::toHexBE(tip.Block::hash)’ (type ‘void’) to type ‘const std::error_code&’
   std::cerr << "- Tip: " << toHexBE(tip.hash) << std::endl;
                             ~~~~~~~^~~~~~~~~~
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/iostream:39,
                 from src/bestchain.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:497:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, _CharT)’
     operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c)
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:497:5: note:   template argument deduction/substitution failed:
src/bestchain.cpp:149:45: note:   deduced conflicting types for parameter ‘_CharT’ (‘char’ and ‘void’)
   std::cerr << "- Tip: " << toHexBE(tip.hash) << std::endl;
                                             ^
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/iostream:39,
                 from src/bestchain.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:502:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, char)’
     operator<<(basic_ostream<_CharT, _Traits>& __out, char __c)
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:502:5: note:   template argument deduction/substitution failed:
src/bestchain.cpp:149:36: note:   cannot convert ‘{anonymous}::toHexBE(tip.Block::hash)’ (type ‘void’) to type ‘char’
   std::cerr << "- Tip: " << toHexBE(tip.hash) << std::endl;
                             ~~~~~~~^~~~~~~~~~
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/iostream:39,
                 from src/bestchain.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:508:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, char)’
     operator<<(basic_ostream<char, _Traits>& __out, char __c)
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:508:5: note:   template argument deduction/substitution failed:
src/bestchain.cpp:149:36: note:   cannot convert ‘{anonymous}::toHexBE(tip.Block::hash)’ (type ‘void’) to type ‘char’
   std::cerr << "- Tip: " << toHexBE(tip.hash) << std::endl;
                             ~~~~~~~^~~~~~~~~~
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/iostream:39,
                 from src/bestchain.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:514:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, signed char)’
     operator<<(basic_ostream<char, _Traits>& __out, signed char __c)
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:514:5: note:   template argument deduction/substitution failed:
src/bestchain.cpp:149:36: note:   cannot convert ‘{anonymous}::toHexBE(tip.Block::hash)’ (type ‘void’) to type ‘signed char’
   std::cerr << "- Tip: " << toHexBE(tip.hash) << std::endl;
                             ~~~~~~~^~~~~~~~~~
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/iostream:39,
                 from src/bestchain.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:519:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, unsigned char)’
     operator<<(basic_ostream<char, _Traits>& __out, unsigned char __c)
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:519:5: note:   template argument deduction/substitution failed:
src/bestchain.cpp:149:36: note:   cannot convert ‘{anonymous}::toHexBE(tip.Block::hash)’ (type ‘void’) to type ‘unsigned char’
   std::cerr << "- Tip: " << toHexBE(tip.hash) << std::endl;
                             ~~~~~~~^~~~~~~~~~
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/iostream:39,
                 from src/bestchain.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:539:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const _CharT*)’
     operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s)
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:539:5: note:   template argument deduction/substitution failed:
src/bestchain.cpp:149:45: note:   mismatched types ‘const _CharT*’ and ‘void’
   std::cerr << "- Tip: " << toHexBE(tip.hash) << std::endl;
                                             ^
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:693,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/iostream:39,
                 from src/bestchain.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/ostream.tcc:321:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const char*)’
     operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s)
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/ostream.tcc:321:5: note:   template argument deduction/substitution failed:
src/bestchain.cpp:149:36: note:   cannot convert ‘{anonymous}::toHexBE(tip.Block::hash)’ (type ‘void’) to type ‘const char*’
   std::cerr << "- Tip: " << toHexBE(tip.hash) << std::endl;
                             ~~~~~~~^~~~~~~~~~
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/iostream:39,
                 from src/bestchain.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:556:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const char*)’
     operator<<(basic_ostream<char, _Traits>& __out, const char* __s)
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:556:5: note:   template argument deduction/substitution failed:
src/bestchain.cpp:149:36: note:   cannot convert ‘{anonymous}::toHexBE(tip.Block::hash)’ (type ‘void’) to type ‘const char*’
   std::cerr << "- Tip: " << toHexBE(tip.hash) << std::endl;
                             ~~~~~~~^~~~~~~~~~
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/iostream:39,
                 from src/bestchain.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:569:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const signed char*)’
     operator<<(basic_ostream<char, _Traits>& __out, const signed char* __s)
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:569:5: note:   template argument deduction/substitution failed:
src/bestchain.cpp:149:36: note:   cannot convert ‘{anonymous}::toHexBE(tip.Block::hash)’ (type ‘void’) to type ‘const signed char*’
   std::cerr << "- Tip: " << toHexBE(tip.hash) << std::endl;
                             ~~~~~~~^~~~~~~~~~
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/iostream:39,
                 from src/bestchain.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:574:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const unsigned char*)’
     operator<<(basic_ostream<char, _Traits>& __out, const unsigned char* __s)
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:574:5: note:   template argument deduction/substitution failed:
src/bestchain.cpp:149:36: note:   cannot convert ‘{anonymous}::toHexBE(tip.Block::hash)’ (type ‘void’) to type ‘const unsigned char*’
   std::cerr << "- Tip: " << toHexBE(tip.hash) << std::endl;
                             ~~~~~~~^~~~~~~~~~
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/iostream:39,
                 from src/bestchain.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:682:5: note: candidate: ‘template<class _Ostream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_ostream<_Ostream>, std::__is_insertable<typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type, const _Tp&, void> >::value, typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type>::type std::operator<<(_Ostream&&, const _Tp&)’
     operator<<(_Ostream&& __os, const _Tp& __x)
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/ostream:682:5: note:   template argument deduction/substitution failed:
In file included from include/hash.hpp:4,
                 from src/bestchain.cpp:6:
/opt/rh/devtoolset-8/root/usr/include/c++/8/iomanip:79:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, std::_Resetiosflags)’
     operator<<(basic_ostream<_CharT, _Traits>& __os, _Resetiosflags __f)
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/iomanip:79:5: note:   template argument deduction/substitution failed:
src/bestchain.cpp:149:36: note:   cannot convert ‘{anonymous}::toHexBE(tip.Block::hash)’ (type ‘void’) to type ‘std::_Resetiosflags’
   std::cerr << "- Tip: " << toHexBE(tip.hash) << std::endl;
                             ~~~~~~~^~~~~~~~~~
In file included from include/hash.hpp:4,
                 from src/bestchain.cpp:6:
/opt/rh/devtoolset-8/root/usr/include/c++/8/iomanip:109:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, std::_Setiosflags)’
     operator<<(basic_ostream<_CharT, _Traits>& __os, _Setiosflags __f)
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/iomanip:109:5: note:   template argument deduction/substitution failed:
src/bestchain.cpp:149:36: note:   cannot convert ‘{anonymous}::toHexBE(tip.Block::hash)’ (type ‘void’) to type ‘std::_Setiosflags’
   std::cerr << "- Tip: " << toHexBE(tip.hash) << std::endl;
                             ~~~~~~~^~~~~~~~~~
In file included from include/hash.hpp:4,
                 from src/bestchain.cpp:6:
/opt/rh/devtoolset-8/root/usr/include/c++/8/iomanip:143:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, std::_Setbase)’
     operator<<(basic_ostream<_CharT, _Traits>& __os, _Setbase __f)
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/iomanip:143:5: note:   template argument deduction/substitution failed:
src/bestchain.cpp:149:36: note:   cannot convert ‘{anonymous}::toHexBE(tip.Block::hash)’ (type ‘void’) to type ‘std::_Setbase’
   std::cerr << "- Tip: " << toHexBE(tip.hash) << std::endl;
                             ~~~~~~~^~~~~~~~~~
In file included from include/hash.hpp:4,
                 from src/bestchain.cpp:6:
/opt/rh/devtoolset-8/root/usr/include/c++/8/iomanip:178:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, std::_Setfill<_CharT>)’
     operator<<(basic_ostream<_CharT, _Traits>& __os, _Setfill<_CharT> __f)
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/iomanip:178:5: note:   template argument deduction/substitution failed:
src/bestchain.cpp:149:45: note:   mismatched types ‘std::_Setfill<_CharT>’ and ‘void’
   std::cerr << "- Tip: " << toHexBE(tip.hash) << std::endl;
                                             ^
In file included from include/hash.hpp:4,
                 from src/bestchain.cpp:6:
/opt/rh/devtoolset-8/root/usr/include/c++/8/iomanip:208:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, std::_Setprecision)’
     operator<<(basic_ostream<_CharT, _Traits>& __os, _Setprecision __f)
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/iomanip:208:5: note:   template argument deduction/substitution failed:
src/bestchain.cpp:149:36: note:   cannot convert ‘{anonymous}::toHexBE(tip.Block::hash)’ (type ‘void’) to type ‘std::_Setprecision’
   std::cerr << "- Tip: " << toHexBE(tip.hash) << std::endl;
                             ~~~~~~~^~~~~~~~~~
In file included from include/hash.hpp:4,
                 from src/bestchain.cpp:6:
/opt/rh/devtoolset-8/root/usr/include/c++/8/iomanip:238:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, std::_Setw)’
     operator<<(basic_ostream<_CharT, _Traits>& __os, _Setw __f)
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/iomanip:238:5: note:   template argument deduction/substitution failed:
src/bestchain.cpp:149:36: note:   cannot convert ‘{anonymous}::toHexBE(tip.Block::hash)’ (type ‘void’) to type ‘std::_Setw’
   std::cerr << "- Tip: " << toHexBE(tip.hash) << std::endl;
                             ~~~~~~~^~~~~~~~~~
In file included from include/hash.hpp:4,
                 from src/bestchain.cpp:6:
/opt/rh/devtoolset-8/root/usr/include/c++/8/iomanip:311:5: note: candidate: ‘template<class _CharT, class _Traits, class _MoneyT> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, std::_Put_money<_MoneyT>)’
     operator<<(basic_ostream<_CharT, _Traits>& __os, _Put_money<_MoneyT> __f)
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/iomanip:311:5: note:   template argument deduction/substitution failed:
src/bestchain.cpp:149:45: note:   mismatched types ‘std::_Put_money<_MoneyT>’ and ‘void’
   std::cerr << "- Tip: " << toHexBE(tip.hash) << std::endl;
                                             ^
In file included from include/hash.hpp:4,
                 from src/bestchain.cpp:6:
/opt/rh/devtoolset-8/root/usr/include/c++/8/iomanip:363:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, std::_Put_time<_CharT>)’
     operator<<(basic_ostream<_CharT, _Traits>& __os, _Put_time<_CharT> __f)
     ^~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/iomanip:363:5: note:   template argument deduction/substitution failed:
src/bestchain.cpp:149:45: note:   mismatched types ‘std::_Put_time<_CharT>’ and ‘void’
   std::cerr << "- Tip: " << toHexBE(tip.hash) << std::endl;
                                             ^
make: *** [src/bestchain.o] Error 1

transforms/leveldb: Use *_ID hashes over *_HASH

The *_HASH fields used now are in regular byte-order.
This makes interaction with the data by users (who use reverse byte-order hashes) difficult.

Staying with *_ID standard being the reverse byte-order equivalent, we should change over to *_ID for the purposes of the leveldb data, to avoid encoding/decoding pains.

Nothing on stdout

I might be missing something

When I try to run the parser, I see messages on stderr, but nothing in stdout

cat ~/.bitcoin/blocks/blk00000.dat | ./parser -j4 -t1 > wat
Allocated IO buffer (104857600 bytes)
Allocated parse buffer (104857600 bytes)
Initialized 4 threads in the thread pool
-- Parsed 0 blocks (read 102400 KiB, 100 MiB total, skipped 0KiB)
-- Parsed 114484 blocks (read 28670 KiB, 127 MiB total, skipped 0KiB) EOF
Parsed 119969 blocks (127 MiB)in 1 seconds

but

$ wc -l wat
0

only -t0 returns binary output. Am I running it wrong?

Ubuntu 16.04 make error

g++ -pedantic -std=c++1z -W -Wall -Wcast-qual -Wconversion -Werror -Wextra -Wwrite-strings -O3 -Iinclude -MMD -MP -c src/bestchain.cpp -o src/bestchain.o
In file included from src/bestchain.cpp:10:0:
include/serial.hpp: In function ‘auto serial::peek(const R&)’:
include/serial.hpp:17:48: error: expected ‘,’ before ‘)’ token
   static_assert(std::is_same<T, uint8_t>::value);
                                                ^
include/serial.hpp:17:48: error: expected string-literal before ‘)’ token
include/serial.hpp:18:43: error: expected ‘,’ before ‘)’ token
   static_assert(sizeof(E) % sizeof(T) == 0);
                                           ^
include/serial.hpp:18:43: error: expected string-literal before ‘)’ token
include/serial.hpp: In function ‘void serial::place(R&, E)’:
include/serial.hpp:40:48: error: expected ‘,’ before ‘)’ token
   static_assert(std::is_same<T, uint8_t>::value);
                                                ^
include/serial.hpp:40:48: error: expected string-literal before ‘)’ token
include/serial.hpp:41:43: error: expected ‘,’ before ‘)’ token
   static_assert(sizeof(E) % sizeof(T) == 0);
                                           ^
include/serial.hpp:41:43: error: expected string-literal before ‘)’ token
Makefile:27: recipe for target 'src/bestchain.o' failed
make: *** [src/bestchain.o] Error 1

ubuntu16 gcc7.3 make error

hello. any advice to fix this issue? thanks very much

g++ -pedantic -std=c++1z -W -Wall -Wcast-qual -Wconversion -Werror -Wextra -Wwrite-strings -O3 -Iinclude -MMD -MP -c src/bestchain.cpp -o src/bestchain.o
g++ src/bestchain.o -lcrypto -O3 -o bestchain
g++ -pedantic -std=c++1z -W -Wall -Wcast-qual -Wconversion -Werror -Wextra -Wwrite-strings -O3 -Iinclude -MMD -MP -c src/parser.cpp -o src/parser.o
In file included from include/hash.hpp:8:0,
                 from include/bitcoin.hpp:9,
                 from src/parser.cpp:9:
include/ranger.hpp: In instantiation of ‘void __ranger::Range<I>::put(E) [with E = __ranger::Range<const char*>; I = unsigned char*]’:
include/bitcoin.hpp:251:44:   required from ‘void putASM(R&, const R&) [with R = __ranger::Range<unsigned char*>]’
src/statistics.hpp:110:11:   required from ‘void dumpASM<Block>::operator()(const Block&) [with Block = BlockBase<__ranger::Range<unsigned char*> >]’
src/parser.cpp:145:1:   required from here
include/ranger.hpp:86:32: 错误:对‘put(__ranger::Range<unsigned char*>&, __ranger::Range<const char*>&)’的调用没有匹配的函数
  void put (E e) { __ranger::put(*this, e); }
                   ~~~~~~~~~~~~~^~~~~~~~~~
include/ranger.hpp:23:6: 附注:candidate: void __ranger::put(R&, typename R::value_type) [with R = __ranger::Range<unsigned char*>; typename R::value_type = unsigned char]
 void put (R& r, typename R::value_type e) {
      ^~~
include/ranger.hpp:23:6: 附注:  no known conversion for argument 2 from ‘__ranger::Range<const char*>’ to ‘__ranger::Range<unsigned char*>::value_type {aka unsigned char}’
include/ranger.hpp:36:6: 附注:candidate: template<class R, class E, class V> void __ranger::put(R&, E)
 void put (R& r, E e) {
      ^~~
include/ranger.hpp:36:6: 附注:  template argument deduction/substitution failed:
include/ranger.hpp:31:2: 错误:no type named ‘type’ in ‘struct std::enable_if<false, __ranger::Range<const char*> >’
  typename V = typename std::enable_if<
  ^~~~~~~~
In file included from include/bitcoin.hpp:9:0,
                 from src/parser.cpp:9:
include/hash.hpp:58:7: 错误:‘auto {anonymous}::toHexBE(const uint256_t&)’ defined but not used [-Werror=unused-function]
  auto toHexBE (const uint256_t& hash) {
       ^~~~~~~
cc1plus:所有的警告都被当作是错误
Makefile:28: recipe for target 'src/parser.o' failed
make: *** [src/parser.o] Error 1

i am using ubuntu16 and gcc below:

root@zdsx-Aspire-GX-781:/media/zdsx/Acer/fast-dat-parser/fast-dat-parser-master# gcc -v
使用内建 specs。
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-pc-linux-gnu/7.3.0/lto-wrapper
目标:x86_64-pc-linux-gnu
配置为:../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
线程模型:posix
gcc 版本 7.3.0 (GCC) 

Transform filter doesn't seem to work on Bitcoin Core v0.18.1

It doesn't seem to output any useful info:

cat /opt/bitcoin/fast-dat-parser/debug.log
cat /var/lib/bitcoind/blocks/blk*.dat | ./parser -t3 | ./bestchain > ch
ain.dat
Allocated IO buffer (104857600 bytes)
Allocated parse buffer (104857600 bytes)
Initialized 1 threads in the thread pool
-- Parsed 0 blocks (read 102400 KiB, 100 MiB total, skipped 0KiB)
-- Parsed 92 blocks (read 101287 KiB, 198 MiB total, skipped 0KiB)
-- Parsed 178 blocks (read 101978 KiB, 298 MiB total, skipped 0KiB)
-- Parsed 276 blocks (read 102083 KiB, 398 MiB total, skipped 0KiB)
-- Parsed 361 blocks (read 102148 KiB, 497 MiB total, skipped 0KiB)
-- Parsed 445 blocks (read 101502 KiB, 597 MiB total, skipped 0KiB)
-- Parsed 535 blocks (read 101593 KiB, 696 MiB total, skipped 0KiB)
-- Parsed 624 blocks (read 101792 KiB, 795 MiB total, skipped 0KiB)
-- Parsed 727 blocks (read 102283 KiB, 895 MiB total, skipped 0KiB)
-- Parsed 857 blocks (read 101321 KiB, 994 MiB total, skipped 0KiB)
-- Parsed 987 blocks (read 101685 KiB, 1093 MiB total, skipped 0KiB)
-- Parsed 1076 blocks (read 102187 KiB, 1193 MiB total, skipped 0KiB)
-- Parsed 1164 blocks (read 101672 KiB, 1292 MiB total, skipped 0KiB)
-- Parsed 1253 blocks (read 101732 KiB, 1392 MiB total, skipped 0KiB)
-- Parsed 1344 blocks (read 102076 KiB, 1491 MiB total, skipped 0KiB)
-- Parsed 1444 blocks (read 102137 KiB, 1591 MiB total, skipped 0KiB)
-- Parsed 1544 blocks (read 101687 KiB, 1690 MiB total, skipped 0KiB)
-- Parsed 1643 blocks (read 102163 KiB, 1790 MiB total, skipped 0KiB)
-- Parsed 1737 blocks (read 102058 KiB, 1890 MiB total, skipped 0KiB)
-- Parsed 1854 blocks (read 101380 KiB, 1989 MiB total, skipped 0KiB)
-- Parsed 1974 blocks (read 101619 KiB, 2088 MiB total, skipped 0KiB)
-- Parsed 2074 blocks (read 101885 KiB, 2188 MiB total, skipped 0KiB)
-- Parsed 2179 blocks (read 101948 KiB, 2287 MiB total, skipped 0KiB)
-- Parsed 2270 blocks (read 102318 KiB, 2387 MiB total, skipped 0KiB)
-- Parsed 2356 blocks (read 102127 KiB, 2487 MiB total, skipped 0KiB)
-- Parsed 2439 blocks (read 101384 KiB, 2586 MiB total, skipped 0KiB)
-- Parsed 2524 blocks (read 101603 KiB, 2685 MiB total, skipped 0KiB)
-- Parsed 2615 blocks (read 102300 KiB, 2785 MiB total, skipped 0KiB)
-- Parsed 2716 blocks (read 101603 KiB, 2884 MiB total, skipped 0KiB)
-- Parsed 2822 blocks (read 101366 KiB, 2983 MiB total, skipped 0KiB)
-- Parsed 2945 blocks (read 102018 KiB, 3083 MiB total, skipped 0KiB)
-- Parsed 3055 blocks (read 101823 KiB, 3182 MiB total, skipped 0KiB)
-- Parsed 3142 blocks (read 101824 KiB, 3282 MiB total, skipped 0KiB)
-- Parsed 3236 blocks (read 101252 KiB, 3381 MiB total, skipped 0KiB)
-- Parsed 3332 blocks (read 101668 KiB, 3480 MiB total, skipped 0KiB)
-- Parsed 3432 blocks (read 101937 KiB, 3579 MiB total, skipped 0KiB)
-- Parsed 3538 blocks (read 102394 KiB, 3679 MiB total, skipped 0KiB)
-- Parsed 3642 blocks (read 102220 KiB, 3779 MiB total, skipped 0KiB)
-- Parsed 3741 blocks (read 101705 KiB, 3879 MiB total, skipped 0KiB)
-- Parsed 3855 blocks (read 101681 KiB, 3978 MiB total, skipped 0KiB)
-- Parsed 3986 blocks (read 102198 KiB, 4078 MiB total, skipped 0KiB)
-- Parsed 4097 blocks (read 101866 KiB, 4177 MiB total, skipped 0KiB)
-- Parsed 4184 blocks (read 102303 KiB, 4277 MiB total, skipped 0KiB)
-- Parsed 4290 blocks (read 25940 KiB, 4302 MiB total, skipped 0KiB) EOF
Parsed 4308 blocks (4302 MiB) in 103 seconds
Read 3644202 headers
Sorted 3644202 headers
Found 3644202 chain tips
Best chain
- Height: 0
- Genesis: e8603d691232bb470d491c81bbc65d0761a3e47f0a024f1f8f9e100947040000
- Tip: e8603d691232bb470d491c81bbc65d0761a3e47f0a024f1f8f9e100947040000
 hexdump /opt/bitcoin/fast-dat-parser/chain.dat -C
00000000  00 00 04 47 09 10 9e 8f  1f 4f 02 0a 7f e4 a3 61  |...G.....O.....a|
00000010  07 5d c6 bb 81 1c 49 0d  47 bb 32 12 69 3d 60 e8  |.]....I.G.2.i=`.|
00000020  00 00 00 00                                       |....|
00000024

centos make error

[root@localhost fast-dat-parser]# make
g++ -pedantic -std=c++1z -W -Wall -Wcast-qual -Wconversion -Werror -Wextra -Wwrite-strings -O3 -Iinclude -MMD -MP -c src/bestchain.cpp -o src/bestchain.o
g++: error: unrecognized command line option ‘-std=c++1z’
make: *** [src/bestchain.o] Error 1
[root@localhost fast-dat-parser]# g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC)

do i need newer version of gcc ?

running centos 7 x64 3.10.0-693.11.1.el7.x86_64

Ubuntu 18.04.1 LTS - Make failed

lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.1 LTS
Release:        18.04
Codename:       bionic
g++ --version
g++ (Ubuntu 7.3.0-21ubuntu1~16.04) 7.3.0
make
g++ -pedantic -std=c++1z -W -Wall -Wcast-qual -Wconversion -Werror -Wextra -Wwrite-strings -Wno-unused-function -O3 -Iinclude -MMD -MP -c src/bestchain.cpp -o src/bestchain.o
In file included from src/bestchain.cpp:6:0:
include/hash.hpp:7:10: fatal error: hexxer.hpp: Directory or file does not exist
 #include "hexxer.hpp"
          ^~~~~~~~~~~~
compilation terminated.
Makefile:28: recipe for target 'src/bestchain.o' failed
make: *** [src/bestchain.o] Error 1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.