Great clo1, thank you very much for helping the project and providing your work.
On Debian 9 (Sid), I have many Boost/Bignum errors while compiling. Do you have any idea why this is happening? I installed libboost-all-dev. Errors look like
./bignum.h:57:24: error: invalid use of incomplete type BIGNUM {aka struct bignum_st}
/usr/include/openssl/ossl_typ.h:80:16: note: forward declaration of BIGNUM {aka struct bignum_st} typedef struct bignum_st BIGNUM;
./bignum.h:62:9: error: BN_init was not declared in this scope
./bignum.h:68:30: error: cannot convert CBigNum* to BIGNUM* {aka bignum_st*}
/usr/include/openssl/bn.h:219:25: note: initializing argument 1 of BIGNUM* BN_copy(BIGNUM*, const BIGNUM*)
The last 2 lines multiple times
On Debian 9 stable, there is no Bignum error, but I get:
test/test_riecoin.cpp: In member function CBlock TestChain100Setup::CreateAndProcessBlock(const std::vector&, const CScript&):
test/test_riecoin.cpp:151:84: error: could not convert (& chainparams)->CChainParams::GetConsensus() from const Consensus::Params to offsetType {aka arith_uint256}
while (!CheckProofOfWork(block.GetHash(), block.nBits, chainparams.GetConsensus())) ++block.nNonce;
~~~~~~~~~~~~~~~~~~~~~~~~^~
test/test_riecoin.cpp:151:97: error: class CBlock has no member named nNonce
while (!CheckProofOfWork(block.GetHash(), block.nBits, chainparams.GetConsensus())) ++block.nNonce;
I am however able to compile the latest Bitcoin Core in both computers, without any issue.
I guess that for now, I will need to install Ubuntu 16.04 to test your code.
Getwork is no longer supported in bitcoin. Pttn, it would be awesome if you could add GetBlockTemplate support to rieMiner. Ive temporarily added getwork support to the code for testing although the format is slightly different. It takes an address as an input.
Wallet mining was removed from bitcoin several versions ago. I recently noticed there is some mining code for testing purposes (generateblocks and generatetoaddress). I havent implemented this. Is this needed and if so what code should be used here? I know the code currently in the core is outdated.
GetBlockTemplate support was already added a few days ago and blocks were successfully mined with it (also works if it contains transactions). Example:
Block 947897 with transaction fees. As soon as I am able to compile your code, I will test rieMiner with your update to make sure that rieMiner still works, and adapt the code if needed. I will see what it needed to change when the BIPs are activated. And if I have more time, I will test further your code.
Stratum support for pooled mining, at least experimental, will come today as well. Miners are welcome to test the code and submit bugs/open GitHub issues.
Once everything is finished, fixed and tested, we will be able to upgrade xptMiner as well. rieMiner provides a much more developer friendly code for people wanting to improve the algorithm.