[Dev] Feathercoin 0.9.6.2 * Maintenance fix, build & upgrade issues notes.
-
[FAQ] Is it trivial to change a Feathercoin portable wallet file to libdb 4.8?
Version 4.8 is not a requirement, just a recommendation. You can compile your own version and use newer versions of BDB by passing --with-incompatible-bdb to configure.
The main reason it is discouraged is because it breaks compatibility with the pre-built binaries. If you’re building from source you may not care.
But even if you do, it is trivial to convert your wallet back to a 4.8 wallet if you’re stuck with a 5.1 or 5.3 one. Use the bdb tools (packages db4.8-util db5.1-util on Ubuntu):
Code:
db5.1_dump wallet.dat.db5 | db4.8_load wallet.dat.db4
-
0.9.6.2 resync from scratch - debug.log size
Debug.log size ~8GB
Example messages :
2017-09-08 11:01:02 FindStealthTransactions() tx:1a6d82536f8800f9535af0d921c9c4b0bd5ed63f7ed98d496ea489a3c96199d6,BOOST_$ 2017-09-08 11:01:02 txout scriptPubKey= 02bdd2463b241c6983e30fcec049028bd35a2c46b27751267e097d7ea730d86477 OP_CHECKSIG 2017-09-08 11:01:02 txout hash = a70281794fa18919284ce0825bb97985be0fd5351d70790f18cb295171a032cf 2017-09-08 11:01:02 ProcessBlock: ACCEPTED 2017-09-08 11:01:02 ProcessBlock: Preliminary checks 2017-09-08 11:01:02 AcceptBlockHeader,nHeight=14138 2017-09-08 11:01:02 GetNextWorkRequired pindexLast block Height=14137,nBits=486604799 2017-09-08 11:01:02 GetNextWorkRequired the next block Height=14138 2017-09-08 11:01:02 GetNextWorkRequired fork 2017-09-08 11:01:02 ConnectBlock hashPrevBlock=da6f4030e5784d44bf6487f714f97364c4d1d4230c7921ac83fbdb0a75b3da9d 2017-09-08 11:01:02 ConnectBlock view.GetBestBlock()=da6f4030e5784d44bf6487f714f97364c4d1d4230c7921ac83fbdb0a75b3da9d 2017-09-08 11:01:02 AddToWalletIfInvolvingMe,hash=53e2bcbb25acf1d2a5f14f8fa21f1251ec533567ca9c0cf7431fe27944d4f55e .
2017-09-08 11:01:45 ERROR: ProcessBlock() : already have block 528 3d00776e6a58b274553a08f865f243e4c76d2ff2f2bdc80ae9d65$ 2017-09-08 11:01:45 ERROR: ProcessBlock() : already have block 529 8f9ce5631e4da83f485bbaabd05b2103e2031cc171f3bd19c424f$ 2017-09-08 11:01:45 ERROR: ProcessBlock() : already have block 530 5e552737f864c8e40b8870fa6005cda91801042e67d41f96a352b$
2017-09-08 11:13:59 BOOST_FOREACH nOutputIdOuter=1 ,find txout... 2017-09-08 11:13:59 txout scriptPubKey= OP_DUP OP_HASH160 70fd39db258cc19a4d89a3ab0e329927c1688e07 OP_EQUALVERIFY OP_CHECKSIG 2017-09-08 11:13:59 txout hash = 42c514bfd4afd25857c86633b4a645a94a15326308d42a4c63e42bc7a7f0d2d9 2017-09-08 11:13:59 AddToWalletIfInvolvingMe,hash=1dd3621d64f782e0c8200c4063283d38189d1c29976fb0597e674c4ef249c612 . 2017-09-08 11:13:59 FindStealthTransactions() tx:1dd3621d64f782e0c8200c4063283d38189d1c29976fb0597e674c4ef249c612,BOOST_FOREACH nOutputIdOuter=0 ,find txout... 2017-09-08 11:13:59 txout scriptPubKey= OP_DUP OP_HASH160 f1f717b9371a1a39a1c96f1138e0207f44e9b1fc OP_EQUALVERIFY OP_CHECKSIG 2017-09-08 11:13:59 txout hash = beee7a6b781b42fcb81f0e64be3df2e5d8b7dbad17ffb94ab258bd83e705a4fb 2017-09-08 11:13:59 BOOST_FOREACH nOutputIdOuter=1 ,find txout...
2017-09-08 11:48:16 AcceptBlockHeader,nHeight=212619 2017-09-08 11:48:16 GetNextWorkRequired pindexLast block Height=212618,nBits=470153547 2017-09-08 11:48:16 GetNextWorkRequired the next block Height=212619 2017-09-08 11:48:16 GetNextWorkRequired fork 2017-09-08 11:48:16 Difficulty rules regular blocks 2017-09-08 11:48:16 GetNextWorkRequired(), nActualTimespan = 4 before bounds 2017-09-08 11:48:16 RETARGET: nActualTimespanShort = 86, nActualTimespanMedium = 71, nActualTimespanLong = 65, nActualTimeSpanAvg = 74, nActualTimespan (damped) = 63 2017-09-08 11:48:16 RETARGET: nActualTimespan = 63 after bounds 2017-09-08 11:48:16 RETARGET: nTargetTimespan = 60, nTargetTimespan/nActualTimespan = 0.9524 2017-09-08 11:48:16 GetNextWorkRequired RETARGET 2017-09-08 11:48:16 nTargetTimespan = 60 nActualTimespan = 63 2017-09-08 11:48:16 Before: 1c05f94b 0000000005f94b00000000000000000000000000000000000000000000000000 2017-09-08 11:48:16 After: 1c0645c1 000000000645c1f3333333333333333333333333333333333333333333333333 2017-09-08 11:48:16 ConnectBlock hashPrevBlock=c99dcb4dfb188f08e113cc0227dbb078b91a2ba1eb211747df6e93c2a3c1f8f9 2017-09-08 11:48:16 ConnectBlock view.GetBestBlock()=c99dcb4dfb188f08e113cc0227dbb078b91a2ba1eb211747df6e93c2a3c1f8f9
2017-09-08 18:06:29 txout hash = bb18e80f5d0fb64e8ef641b915529ac5e163a65c542117285e35fae601fb1e72 2017-09-08 18:06:29 ProcessBlock: ACCEPTED 2017-09-08 18:06:29 ProcessBlock: Preliminary checks 2017-09-08 18:06:29 ERROR: matches claimed amount, CheckProofOfWork() : hash doesn't match nBits 2017-09-08 18:06:29 AcceptBlockHeader,nHeight=808507 2017-09-08 18:06:29 GetNextWorkRequired pindexLast block Height=808506,nBits=471031556 2017-09-08 18:06:29 GetNextWorkRequired the next block Height=808507
UpdateTip: new best=90ff2216fefd3585d6227b9ad98742c2dee0799950f96008c739853aeaa00a91 height=762942 log2_work=57.908051 tx=2002507 date=2015-06-23 16:01:34 progress=0.476417
-
@wrapper said in [Dev] Feathercoin 0.9.6.2 * Maintenance fix, build & upgrade issues notes.:
[FAQ] Is it trivial to change a Feathercoin portable wallet file to libdb 4.8?
Version 4.8 is not a requirement, just a recommendation. You can compile your own version and use newer versions of BDB by passing --with-incompatible-bdb to configure.
The main reason it is discouraged is because it breaks compatibility with the pre-built binaries. If you’re building from source you may not care.
But even if you do, it is trivial to convert your wallet back to a 4.8 wallet if you’re stuck with a 5.1 or 5.3 one. Use the bdb tools (packages db4.8-util db5.1-util on Ubuntu):
Code:
db5.1_dump wallet.dat.db5 | db4.8_load wallet.dat.db4
Well if one needs to convert the db, it would be easier to export the private keys, compile a wallet with the desired bdb version and import the private keys again.
Our precompiled Linux binaries contained in the installation packages care compiled with the default bdb contained in the distributions, so they will work on a given system/distribution.
-
@Wellenreiter said in [Dev] Feathercoin 0.9.6.2 * Maintenance fix, build & upgrade issues notes.:
Well if one needs to convert the db, it would be easier to export the private keys, compile a wallet with the desired bdb version and import the private keys again.
Good idea but (re: Catch22) I can’t read the wallet.dat to export the private keys, as it says it is corrupt.
-
Always do backups in time ;)
you are in the worst situation, that can happen… -
A new version of zxing-cpp (zebra crossing QR code library), has been released.
https://github.com/glassechidna/zxing-cpp/pull/57
* Installation working as a configuration package * Fix source listing to not use GLOB per CMake recommendation. Files are listed explicitly in source_files.cmake so that if file listing changes, CMake can detect it and regenerate as needed. * Added debug postfix for libs for side-by-side installation of different build variants (libzxing.lib and libzxing-debug.lib on Windows) Notes: * Proper versioning is not being done in the installation config package. If a version is known, it should be added. * I had to comment out the windows-specific stuff (core/win32) because it caused compiler issues in Windows SDK headers.
-
Sync test from Bootstrap.dat 0.9.6.2 – Debug.log spam messages 8.5GB 35-hours
Needs further investigation
This message It has been reported as superflous error, it does not seem to indicate a fault. It incorrectly specified error message.
ERROR: matches claimed amount, CheckProofOfWork() : hash doesn’t match nBits
https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/main.cpp#L1502Need “removing” from release build
FindStealthTransactions() tx:1a6d82536f8800f9535af0d921c9c4b0bd5ed63f7ed98d496ea489a3c96199d6,BOOST_$
https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/wallet.cpp#L1961txout scriptPubKey
https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/wallet.cpp#L1985txout hash =
https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/wallet.cpp#L1986ProcessBlock: ACCEPTED
https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/main.cpp#L3265ProcessBlock: Preliminary checks
https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/main.cpp#L3198AcceptBlockHeader,nHeight=
https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/main.cpp#L2936GetNextWorkRequired pindexLast
https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/main.cpp#L1313GetNextWorkRequired the next block Height=14138
https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/main.cpp#L1314GetNextWorkRequired fork
https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/main.cpp#L1323ConnectBlock hashPrevBlock=
https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/main.cpp#L1952ConnectBlock view.GetBestBlock()=
https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/main.cpp#L1953AddToWalletIfInvolvingMe,hash=5
https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/wallet.cpp#L708ERROR: ProcessBlock() : already have block 528
https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/main.cpp#L3193BOOST_FOREACH nOutputIdOuter=1 ,find txout…
https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/wallet.cpp#L708txout scriptPubKey= OP_DUP OP_HASH160
https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/wallet.cpp#L1985Difficulty rules regular blocks
https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/main.cpp#L3193GetNextWorkRequired(), nActualTimespan = 4 before bounds
https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/main.cpp#L1383RETARGET: nActualTimespanShort = 86, nActualTimespanMedium = 71, nActualTimespanLong = 65, nActualTimeSpanAvg = 74, nActualTimespan (damped) = 63
https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/main.cpp#L1442RETARGET: nActualTimespan = 63 after bounds
https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/main.cpp#L1465RETARGET: nTargetTimespan = 60, nTargetTimespan/nActualTimespan = 0.9524
https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/main.cpp#L1466GetNextWorkRequired RETARGET
https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/main.cpp#L1480nTargetTimespan = 60 nActualTimespan = 63
https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/main.cpp#L1481Before: 1c05f94b 0000000005f94b00000000000000000000000000000000000000000000000000
https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/main.cpp#L1482After: 1c0645c1 000000000645c1f3333333333333333333333333333333333333333333333333
https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/main.cpp#L1483UpdateTip: new best=90ff2216fefd3585d6227b9ad98742c2dee0799950f96008c739853aeaa00a91 height=762942 log2_work=57.908051 tx=2002507 date=2015-06-23 16:01:34 progress=0.476417
https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/main.cpp#L2139 -
@wrapper said in [Dev] Feathercoin 0.9.6.2 * Maintenance fix, build & upgrade issues notes.:
A new version of zxing-cpp (zebra crossing QR code library), has been released.
Just triggered a build on the package repository.
-
main.cpp#L1488
bool CheckProofOfWork(uint256 hash, unsigned int nBits) { CBigNum bnTarget; bnTarget.SetCompact(nBits); // Check range if (bnTarget <= 0 || bnTarget > Params().ProofOfWorkLimit()) return error("Check range CheckProofOfWork() : nBits below minimum work"); // Check proof of work matches claimed amount //LogPrintf("CheckProofOfWork() hash=%s \n",hash.ToString().c_str()); //LogPrintf("CheckProofOfWork() nBits=%i \n",nBits); //LogPrintf("CheckProofOfWork() bnTarget.getuint256=%s \n",bnTarget.getuint256().ToString().c_str()); if (hash > bnTarget.getuint256()) return error("matches claimed amount, CheckProofOfWork() : hash doesn't match nBits"); return true;
-
First block with error message is block : 432000 (const int nForkFour = 432000;)
ERROR: matches claimed amount, CheckProofOfWork()
All blocks after that have the message, checked up to block 1877425
-
Debug.log with additional getwork debug messages
2017-09-13 12:49:22 ProcessBlock: Preliminary checks 2017-09-13 12:49:22 CheckProofOfWork() hash=5e6ccf101129ccb808cea67cfbe94cf4784718214cfde7dc1909a0402ae1ef6d 2017-09-13 12:49:22 CheckProofOfWork() nBits=473517455 2017-09-13 12:49:22 CheckProofOfWork() bnTarget.getuint256=00000000394d8f00000000000000000000000000000000000000000000000000 2017-09-13 12:49:22 ERROR: matches claimed amount, CheckProofOfWork() : hash doesn't match nBits 2017-09-13 12:49:22 CheckProofOfWork() hash=00000000058213077e5dc035dbe8a5425695dc8dce74806cbb2cdc225fafcb8e 2017-09-13 12:49:22 CheckProofOfWork() nBits=473517455 2017-09-13 12:49:22 CheckProofOfWork() bnTarget.getuint256=00000000394d8f00000000000000000000000000000000000000000000000000 2017-09-13 12:49:22 AcceptBlockHeader,nHeight=436027 2017-09-13 12:49:22 GetNextWorkRequired pindexLast block Height=436026,nBits=473715109 2017-09-13 12:49:22 GetNextWorkRequired the next block Height=436027 2017-09-13 12:49:22 GetNextWorkRequired fork 2017-09-13 12:49:22 Difficulty rules regular blocks 2017-09-13 12:49:22 GetNextWorkRequired(), nActualTimespan = 15 before bounds 2017-09-13 12:49:22 RETARGET: nActualTimespanShort = 25, nActualTimespanMedium = 61, nActualTimespanLong = 61, nActualTimeSpanAvg = 49, nActua$ 2017-09-13 12:49:22 CheckProofOfWork() hash=00000000058213077e5dc035dbe8a5425695dc8dce74806cbb2cdc225fafcb8e 2017-09-13 12:49:22 CheckProofOfWork() nBits=473517455 2017-09-13 12:49:22 CheckProofOfWork() bnTarget.getuint256=00000000394d8f00000000000000000000000000000000000000000000000000 2017-09-13 12:49:22 CheckProofOfWork() hash=00000000058213077e5dc035dbe8a5425695dc8dce74806cbb2cdc225fafcb8e 2017-09-13 12:49:22 CheckProofOfWork() nBits=473517455 2017-09-13 12:49:22 CheckProofOfWork() bnTarget.getuint256=00000000394d8f00000000000000000000000000000000000000000000000000 2017-09-13 12:49:22 CheckProofOfWork() hash=00000000058213077e5dc035dbe8a5425695dc8dce74806cbb2cdc225fafcb8e 2017-09-13 12:49:22 CheckProofOfWork() nBits=473517455 2017-09-13 12:49:22 CheckProofOfWork() bnTarget.getuint256=00000000394d8f00000000000000000000000000000000000000000000000000 2017-09-13 12:49:22 ConnectBlock hashPrevBlock=a521017bff5487651b402d64e04b7a2c67972de92013976ddfc73409680a756b 2017-09-13 12:49:22 ConnectBlock view.GetBestBlock()=a521017bff5487651b402d64e04b7a2c67972de92013976ddfc73409680a756b 2017-09-13 12:49:22 AddToWalletIfInvolvingMe,hash=cf978ce4ae56e68df19853d101aa59f836b481ed49d430a081985a275c358f68 . 2017-09-13 12:49:22 FindStealthTransactions() tx:cf978ce4ae56e68df19853d101aa59f836b481ed49d430a081985a275c358f68,BOOST_FOREACH nOutputIdOuter$ 2017-09-13 12:49:22 txout scriptPubKey= OP_DUP OP_HASH160 6016bc7b58ccc4f826213591cc8adfaebf922f6c OP_EQUALVERIFY OP_CHECKSIG 2017-09-13 12:49:22 txout hash = c7a5ccaede5d3271df6e5026bf80f2e7c6e895bf5a6d9b8f4f6a38536fcd3589 2017-09-13 12:49:22 UpdateTip: new best=3d352ee58088a8947481f692d1e23c77a301d8104458cae19f74e30faa65b01c height=436027 log2_work=57.827711 $ 2017-09-13 12:49:22 AddToWalletIfInvolvingMe,hash=cf978ce4ae56e68df19853d101aa59f836b481ed49d430a081985a275c358f68 . 2017-09-13 12:49:22 FindStealthTransactions() tx:cf978ce4ae56e68df19853d101aa59f836b481ed49d430a081985a275c358f68,BOOST_FOREACH nOutputIdOuter$ 2017-09-13 12:49:22 txout scriptPubKey= OP_DUP OP_HASH160 6016bc7b58ccc4f826213591cc8adfaebf922f6c OP_EQUALVERIFY OP_CHECKSIG 2017-09-13 12:49:22 txout hash = c7a5ccaede5d3271df6e5026bf80f2e7c6e895bf5a6d9b8f4f6a38536fcd3589 2017-09-13 12:49:22 ProcessBlock: ACCEPTED 2017-09-13 12:49:22 ProcessBlock: Preliminary checks 2017-09-13 12:49:22 CheckProofOfWork() hash=0f97d9fef076fb1ab9d0c41c106a49f7a2017982ca27579162d6c358ac513af9 2017-09-13 12:49:22 CheckProofOfWork() nBits=473329684 2017-09-13 12:49:22 CheckProofOfWork() bnTarget.getuint256=0000000036701400000000000000000000000000000000000000000000000000 2017-09-13 12:49:22 ERROR: matches claimed amount, CheckProofOfWork() : hash doesn't match nBits 2017-09-13 12:49:22 CheckProofOfWork() hash=0000000009706efc0793c5b26d4a24488be0224a8cb4889c87e003bfbb8f8879 2017-09-13 12:49:22 CheckProofOfWork() nBits=473329684 2017-09-13 12:49:22 CheckProofOfWork() bnTarget.getuint256=0000000036701400000000000000000000000000000000000000000000000000 2017-09-13 12:49:22 AcceptBlockHeader,nHeight=436028 2017-09-13 12:49:22 GetNextWorkRequired pindexLast block Height=436027,nBits=473517455 2017-09-13 12:49:22 GetNextWorkRequired the next block Height=436028 2017-09-13 12:49:22 GetNextWorkRequired fork 2017-09-13 12:49:22 Difficulty rules regular blocks 2017-09-13 12:49:22 GetNextWorkRequired(), nActualTimespan = 38 before bounds 2017-09-13 12:49:22 RETARGET: nActualTimespanShort = 26, nActualTimespanMedium = 62, nActualTimespanLong = 61, nActualTimeSpanAvg = 49, nActualTimespan (damped) = 57 2017-09-13 12:49:22 CheckProofOfWork() hash=0000000009706efc0793c5b26d4a24488be0224a8cb4889c87e003bfbb8f8879 2017-09-13 12:49:22 CheckProofOfWork() nBits=473329684 2017-09-13 12:49:22 CheckProofOfWork() bnTarget.getuint256=0000000036701400000000000000000000000000000000000000000000000000 2017-09-13 12:49:22 CheckProofOfWork() hash=0000000009706efc0793c5b26d4a24488be0224a8cb4889c87e003bfbb8f8879 2017-09-13 12:49:22 CheckProofOfWork() nBits=473329684 2017-09-13 12:49:22 CheckProofOfWork() bnTarget.getuint256=0000000036701400000000000000000000000000000000000000000000000000 2017-09-13 12:49:22 CheckProofOfWork() hash=0000000009706efc0793c5b26d4a24488be0224a8cb4889c87e003bfbb8f8879 2017-09-13 12:49:22 CheckProofOfWork() nBits=473329684 2017-09-13 12:49:22 CheckProofOfWork() bnTarget.getuint256=0000000036701400000000000000000000000000000000000000000000000000 2017-09-13 12:49:22 ConnectBlock hashPrevBlock=3d352ee58088a8947481f692d1e23c77a301d8104458cae19f74e30faa65b01c 2017-09-13 12:49:22 ConnectBlock view.GetBestBlock()=3d352ee58088a8947481f692d1e23c77a301d8104458cae19f74e30faa65b01c 2017-09-13 12:49:22 AddToWalletIfInvolvingMe,hash=b89f5d1e8aedb165a3c0580e32837c76f6f2d7f6eaf03dbf3156d2eba00e5388 . 2017-09-13 12:49:22 FindStealthTransactions() tx:b89f5d1e8aedb165a3c0580e32837c76f6f2d7f6eaf03dbf3156d2eba00e5388,BOOST_FOREACH nOutputIdOuter=0 ,find txout... 2017-09-13 12:49:22 txout scriptPubKey= OP_DUP OP_HASH160 070be0e13966f496623c0fcbe3a0d4152e902aa1 OP_EQUALVERIFY OP_CHECKSIG 2017-09-13 12:49:22 txout hash = f2572e4760d154f7708b57f62678d48ee5648a9098202dbeb4c59892274d72dd 2017-09-13 12:49:22 UpdateTip: new best=d5459fc95d834862683a71cd6bde98a0b526b2ef55a60b1ff99a6d17aae29198 height=436028 log2_work=57.827711 tx=1509604 date=2014-10-29 15:41:32 progress=0.356094 2017-09-13 12:49:22 AddToWalletIfInvolvingMe,hash=b89f5d1e8aedb165a3c0580e32837c76f6f2d7f6eaf03dbf3156d2eba00e5388 . 2017-09-13 12:49:22 FindStealthTransactions() tx:b89f5d1e8aedb165a3c0580e32837c76f6f2d7f6eaf03dbf3156d2eba00e5388,BOOST_FOREACH nOutputIdOuter=0 ,find txout... 2017-09-13 12:49:22 txout scriptPubKey= OP_DUP OP_HASH160 070be0e13966f496623c0fcbe3a0d4152e902aa1 OP_EQUALVERIFY OP_CHECKSIG 2017-09-13 12:49:22 txout hash = f2572e4760d154f7708b57f62678d48ee5648a9098202dbeb4c59892274d72dd 2017-09-13 12:49:22 ProcessBlock: ACCEPTED 2017-09-13 12:49:22 ProcessBlock: Preliminary checks 2017-09-13 12:49:22 CheckProofOfWork() hash=2c7b236bbcb89e395243e153677f86d16ba9844395730a3c1f5eb00bd7a93cc0 2017-09-13 12:49:22 CheckProofOfWork() nBits=473151302 2017-09-13 12:49:22 CheckProofOfWork() bnTarget.getuint256=0000000033b74600000000000000000000000000000000000000000000000000 2017-09-13 12:49:22 ERROR: matches claimed amount, CheckProofOfWork() : hash doesn't match nBits 2017-09-13 12:49:22 CheckProofOfWork() hash=000000002010046f762ffa151be4d61323869f9bff6ee8955729cbfda8c0723c 2017-09-13 12:49:22 CheckProofOfWork() nBits=473151302 2017-09-13 12:49:22 CheckProofOfWork() bnTarget.getuint256=0000000033b74600000000000000000000000000000000000000000000000000 2017-09-13 12:49:22 AcceptBlockHeader,nHeight=436029 2017-09-13 12:49:22 GetNextWorkRequired pindexLast block Height=436028,nBits=473329684 2017-09-13 12:49:22 GetNextWorkRequired the next block Height=436029 2017-09-13 12:49:22 GetNextWorkRequired fork 2017-09-13 12:49:22 Difficulty rules regular blocks 2017-09-13 12:49:22 GetNextWorkRequired(), nActualTimespan = 43 before bounds 2017-09-13 12:49:22 RETARGET: nActualTimespanShort = 27, nActualTimespanMedium = 61, nActualTimespanLong = 61, nActualTimeSpanAvg = 49, nActualTimespan (damped) = 57
-
The first time it does preliminary checks it says hash is different to what it then goes straight through CheckProofOfWork()…
hash=d31a46d558974e7b07c6f63a594bfba0fa435659ebca05108f669f58a6d34cfc
then :
hash=000000001bc0c162a3676627559a0ec6f62dd9876ad63d8382859d2ead802875
2017-09-13 12:48:46 CheckProofOfWork() hash=d31a46d558974e7b07c6f63a594bfba0fa435659ebca05108f669f58a6d34cfc 2017-09-13 12:48:46 CheckProofOfWork() nBits=472148865 2017-09-13 12:48:46 CheckProofOfWork() bnTarget.getuint256=00000000246b8100000000000000000000000000000000000000000000000000 2017-09-13 12:48:46 ERROR: matches claimed amount, CheckProofOfWork() : hash doesn't match nBits 2017-09-13 12:48:46 CheckProofOfWork() hash=000000001bc0c162a3676627559a0ec6f62dd9876ad63d8382859d2ead802875
-
Neoscrypt is little endian, may be a byte swap will do the trick.
Was fighting with that for p2pool already.
Here is the python code snippet to get it running in p2pool.
getwork._swap4(pack.IntType(256).pack(x['previous_block'])).encode('hex'), # prevhash x['coinb1'].encode('hex'), # coinb1 x['coinb2'].encode('hex'), # coinb2 [pack.IntType(256).pack(s).encode('hex') for s in x['merkle_link']['branch']], # merkle_branch getwork._swap4(pack.IntType(32).pack(x['version'])).encode('hex'), # version getwork._swap4(pack.IntType(32).pack(x['bits'].bits)).encode('hex'), # nbits getwork._swap4(pack.IntType(32).pack(x['timestamp'])).encode('hex'), # ntime
Definition of swap4:
def _swap4(s): if len(s) % 4: raise ValueError() return ''.join(s[x:x+4][::-1] for x in xrange(0, len(s), 4))
Not sure, how to realize that in C++
-
Testing 0.9.6.2- head
@Wellenreiter @Bushstar
I have tested head and am unable to compile with --qrcodes=yesundefined reference to ` QRCodeDialog::QRCodeDialog(QString const&, QString const&, bool, QWidget*)’
-
try --with-gui=qt5
qt4 support is broken in 0.9x, but tested first and then selected by configure.
-
I am compiling with the standard switches, exactly the same as before, except now qrcodes=no
./configure --with-gui=qt5 --enable-tests=no --enable-upnp-default --with-qrcode=no --enable-wallet=yes --enable-shared --disable-hardening LDFLAGS=“-L${BDB_PREFIX}/lib/” CPPFLAGS=“-I${BDB_PREFIX}/include/” CXXFLAGS=“$CXXFLAGS -fPIC -m64 -std=c++11”
-
Then check, if you have a qrcodedialog in the …/qt/forms directory.
-
Fixed.
I’ve git cloned from head. There is nothing missing and I haven’t done anything to it except add my build.sh and change my compile to qrcodes=no to get it compile… -
Bitcoin 0.9.x Backports 2
#68
https://github.com/bitcoin/bitcoin/commit/0a94661e8db94e84ecbf1ea45a51fb3c7fb77283
Disable SSLv3 (in favor of TLS) for the RPC client and server.
TLS is subject to downgrade attacks when SSLv3 is available, and
SSLv3 has vulnerabilities.The popular solution is to disable SSLv3. On the web this breaks
some tiny number of very old clients. While Bitcoin RPC shouldn’t
be exposed to the open Internet, it also shouldn’t be exposed to
really old SSL implementations, so it shouldn’t be a major issue
for us to disable SSLv3.There is more information on the downgrade attacks and disabling
SSLv3 at https://disablessl3.com/ .src/rpcclient.cpp#L43
- context.set_options(ssl::context::no_sslv2); + context.set_options(ssl::context::no_sslv2 | ssl::context::no_sslv3);
src/rpcserver.cpp
- rpc_ssl_context->set_options(ssl::context::no_sslv2); + rpc_ssl_context->set_options(ssl::context::no_sslv2 | ssl::context::no_sslv3);
-
Consensus: guard against openssl’s new strict DER checks
0.9 (#106)
New versions of OpenSSL will reject non-canonical DER signatures. However,
it’ll happily decode them. Decode then re-encode before verification in order
to ensure that it is properly consumed.Github-Pull: #5634
https://github.com/bitcoin/bitcoin/commit/b8e81b7ccd4490155e3345fc73346ff8c3a77524
- // -1 = error, 0 = bad sig, 1 = good - if (ECDSA_verify(0, (unsigned char*)&hash, sizeof(hash), &vchSig[0], vchSig.size(), pkey) != 1) - return true;
+ // New versions of OpenSSL will reject non-canonical DER signatures. de/re-serialize first. unsigned char *norm_der = NULL; + ECDSA_SIG *norm_sig = ECDSA_SIG_new(); + const unsigned char* sigptr = &vchSig[0]; + d2i_ECDSA_SIG(&norm_sig, &sigptr, vchSig.size()); + int derlen = i2d_ECDSA_SIG(norm_sig, &norm_der); + ECDSA_SIG_free(norm_sig); + if (derlen <= 0) + + // -1 = error, 0 = bad sig, 1 = good + bool ret = ECDSA_verify(0, (unsigned char*)&hash, sizeof(hash), norm_der, derlen, pkey) == 1; + OPENSSL_free(norm_der); + return ret;