Forum Home
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular

    [Dev] Feathercoin 0.9.6.2 * Maintenance fix, build & upgrade issues notes.

    Technical Development
    8
    153
    74603
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • wrapper
      wrapper Moderators last edited by wrapper

      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.
      
      Wellenreiter 1 Reply Last reply Reply Quote 0
      • wrapper
        wrapper Moderators last edited by wrapper

        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#L1502

        Need “removing” from release build

        FindStealthTransactions() tx:1a6d82536f8800f9535af0d921c9c4b0bd5ed63f7ed98d496ea489a3c96199d6,BOOST_$
        https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/wallet.cpp#L1961

        txout scriptPubKey
        https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/wallet.cpp#L1985

        txout hash =
        https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/wallet.cpp#L1986

        ProcessBlock: ACCEPTED
        https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/main.cpp#L3265

        ProcessBlock: Preliminary checks
        https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/main.cpp#L3198

        AcceptBlockHeader,nHeight=
        https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/main.cpp#L2936

        GetNextWorkRequired pindexLast
        https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/main.cpp#L1313

        GetNextWorkRequired the next block Height=14138
        https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/main.cpp#L1314

        GetNextWorkRequired fork
        https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/main.cpp#L1323

        ConnectBlock hashPrevBlock=
        https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/main.cpp#L1952

        ConnectBlock view.GetBestBlock()=
        https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/main.cpp#L1953

        AddToWalletIfInvolvingMe,hash=5
        https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/wallet.cpp#L708

        ERROR: ProcessBlock() : already have block 528
        https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/main.cpp#L3193

        BOOST_FOREACH nOutputIdOuter=1 ,find txout…
        https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/wallet.cpp#L708

        txout scriptPubKey= OP_DUP OP_HASH160
        https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/wallet.cpp#L1985

        Difficulty rules regular blocks
        https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/main.cpp#L3193

        GetNextWorkRequired(), nActualTimespan = 4 before bounds
        https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/main.cpp#L1383

        RETARGET: nActualTimespanShort = 86, nActualTimespanMedium = 71, nActualTimespanLong = 65, nActualTimeSpanAvg = 74, nActualTimespan (damped) = 63
        https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/main.cpp#L1442

        RETARGET: nActualTimespan = 63 after bounds
        https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/main.cpp#L1465

        RETARGET: nTargetTimespan = 60, nTargetTimespan/nActualTimespan = 0.9524
        https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/main.cpp#L1466

        GetNextWorkRequired RETARGET
        https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/main.cpp#L1480

        nTargetTimespan = 60 nActualTimespan = 63
        https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/main.cpp#L1481

        Before: 1c05f94b 0000000005f94b00000000000000000000000000000000000000000000000000
        https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/main.cpp#L1482

        After: 1c0645c1 000000000645c1f3333333333333333333333333333333333333333333333333
        https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/main.cpp#L1483

        UpdateTip: 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

        1 Reply Last reply Reply Quote 0
        • Wellenreiter
          Wellenreiter Moderators @wrapper last edited by

          @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.

          Feathercoin development donation address: 6p8u3wtct7uxRGmvWr2xvPxqRzbpbcd82A
          Openpgp key: 0x385C34E77F0D74D7 (at keyserver.ubuntu.com)/fingerprint: C7B4 E9EA 17E1 3D12 07AB 1FDB 385C 34E7 7F0D 74D7

          1 Reply Last reply Reply Quote 1
          • wrapper
            wrapper Moderators last edited by wrapper

            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;
            
            1 Reply Last reply Reply Quote 0
            • wrapper
              wrapper Moderators last edited by wrapper

              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

              1 Reply Last reply Reply Quote 0
              • wrapper
                wrapper Moderators last edited by wrapper

                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
                
                1 Reply Last reply Reply Quote 0
                • wrapper
                  wrapper Moderators last edited by

                  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 
                  
                  1 Reply Last reply Reply Quote 0
                  • Wellenreiter
                    Wellenreiter Moderators last edited by wrapper

                    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++

                    Feathercoin development donation address: 6p8u3wtct7uxRGmvWr2xvPxqRzbpbcd82A
                    Openpgp key: 0x385C34E77F0D74D7 (at keyserver.ubuntu.com)/fingerprint: C7B4 E9EA 17E1 3D12 07AB 1FDB 385C 34E7 7F0D 74D7

                    1 Reply Last reply Reply Quote 0
                    • wrapper
                      wrapper Moderators last edited by

                      Testing 0.9.6.2- head

                      @Wellenreiter @Bushstar
                      I have tested head and am unable to compile with --qrcodes=yes

                      undefined reference to ` QRCodeDialog::QRCodeDialog(QString const&, QString const&, bool, QWidget*)’
                      
                      1 Reply Last reply Reply Quote 0
                      • Wellenreiter
                        Wellenreiter Moderators last edited by Wellenreiter

                        try --with-gui=qt5

                        qt4 support is broken in 0.9x, but tested first and then selected by configure.

                        Feathercoin development donation address: 6p8u3wtct7uxRGmvWr2xvPxqRzbpbcd82A
                        Openpgp key: 0x385C34E77F0D74D7 (at keyserver.ubuntu.com)/fingerprint: C7B4 E9EA 17E1 3D12 07AB 1FDB 385C 34E7 7F0D 74D7

                        1 Reply Last reply Reply Quote 0
                        • wrapper
                          wrapper Moderators last edited by

                          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”

                          1 Reply Last reply Reply Quote 0
                          • Wellenreiter
                            Wellenreiter Moderators last edited by

                            Then check, if you have a qrcodedialog in the …/qt/forms directory.

                            Feathercoin development donation address: 6p8u3wtct7uxRGmvWr2xvPxqRzbpbcd82A
                            Openpgp key: 0x385C34E77F0D74D7 (at keyserver.ubuntu.com)/fingerprint: C7B4 E9EA 17E1 3D12 07AB 1FDB 385C 34E7 7F0D 74D7

                            1 Reply Last reply Reply Quote 0
                            • wrapper
                              wrapper Moderators last edited by wrapper

                              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…

                              1 Reply Last reply Reply Quote 0
                              • wrapper
                                wrapper Moderators last edited by wrapper

                                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);
                                
                                1 Reply Last reply Reply Quote 0
                                • wrapper
                                  wrapper Moderators last edited by

                                  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;
                                  
                                  1 Reply Last reply Reply Quote 0
                                  • wrapper
                                    wrapper Moderators last edited by wrapper

                                    @Bushstar - ufo fails to build on Ubuntu, here is the fix for the issue …

                                    https://github.com/FeatherCoin/Feathercoin/pull/139/commits/35e34280cf929d086e72e9d3ac6719c8a2fdd559

                                    chainparams boost version fixes :

                                    chainparams.cpp ~L73

                                          //base58Prefixes[PUBKEY_ADDRESS] = list_of(27);
                                            base58Prefixes[PUBKEY_ADDRESS] = std::vector<unsigned char>(1,27); 
                                              // base58Prefixes[SCRIPT_ADDRESS] = list_of(5);
                                            base58Prefixes[SCRIPT_ADDRESS] = std::vector<unsigned char>(1,5);
                                            // base58Prefixes[SECRET_KEY] =     list_of(128);
                                            base58Prefixes[SECRET_KEY] =     std::vector<unsigned char>(1,128);
                                            // base58Prefixes[EXT_PUBLIC_KEY] = list_of(0x04)(0x88)(0xB2)(0x1E);
                                            base58Prefixes[EXT_PUBLIC_KEY] = boost::assign::list_of(0x04)(0x88)(0xB2)(0x1E).convert_to_container<std::vector<unsigned char> >();
                                            // base58Prefixes[EXT_SECRET_KEY] = list_of(0x04)(0x88)(0xAD)(0xE4);
                                            base58Prefixes[EXT_SECRET_KEY] = boost::assign::list_of(0x04)(0x88)(0xAD)(0xE4).convert_to_container<std::vector<unsigned char> >();
                                    
                                    

                                    chainparams.cpp ~153

                                            // base58Prefixes[PUBKEY_ADDRESS] = list_of(111);
                                            base58Prefixes[PUBKEY_ADDRESS] = std::vector<unsigned char>(1,111);
                                            // base58Prefixes[SCRIPT_ADDRESS] = list_of(196);
                                            base58Prefixes[SCRIPT_ADDRESS] = std::vector<unsigned char>(1,196);
                                            // base58Prefixes[SECRET_KEY]     = list_of(239);
                                            base58Prefixes[SECRET_KEY]     = std::vector<unsigned char>(1,2399);
                                            // base58Prefixes[EXT_PUBLIC_KEY] = list_of(0x04)(0x35)(0x87)(0xCF);
                                            base58Prefixes[EXT_PUBLIC_KEY] = boost::assign::list_of(0x04)(0x35)(0x87)(0xCF).convert_to_container<std::vector<unsigned char> >();
                                            // base58Prefixes[EXT_SECRET_KEY] = list_of(0x04)(0x35)(0x83)(0x94);
                                            base58Prefixes[EXT_SECRET_KEY] = boost::assign::list_of(0x04)(0x35)(0x83)(0x94).convert_to_container<std::vector<unsigned char> >();
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • wrapper
                                      wrapper Moderators last edited by wrapper

                                      main.cpp Logprintf \n

                                      Action

                                      • main.cpp - return LogPrintf CheckBlockHeader() to being error message.

                                      • Leave others as is.

                                        LogPrintf("CheckBlockHeader() : block with timestamp before last checkpoint");
                                        
                                        LogPrintf("| ");
                                        LogPrintf("| ");
                                        LogPrintf("| ");
                                        
                                        LogPrintf("%s : Deserialize or I/O error - %s", __func__, e.what());
                                        

                                      wallet.cpp

                                      Actioin Fix all missing \n in LogPrintf() errors

                                        // if (fDebug) LogPrintf("FindStealthTransactions() tx:%s,", tx.GetHash().GetHex().c_str());
                                        // if (fDebug) LogPrintf("StealthSecret.....");
                                        LogPrintf("CommitTransaction() : Error: Transaction not valid");
                                        LogPrintf("SendMoney() : %s", strError);
                                      

                                      rpcserver.cpp

                                      Action left as original

                                       //   LogPrintf("%s: Warning: %s when cancelling acceptor", __func__, ec.message());
                                       //   LogPrintf("%s: Warning: %s when cancelling timer", __func__, ec.message());
                                      

                                      rpcdump.cpp

                                      Action Correct message reference to Bitcoin. Correct / check - Translation text.

                                       file << strprintf("# Wallet dump created by Bitcoin %s (%s)\n", CLIENT_BUILD, CLIENT_DATE);
                                      

                                      multisigdialog.cpp

                                      Action No action, dev can fix when they uncomment.

                                       // if (fDebug)printf("updateAddressBalance GetDepthInMainChain %d\n", wtx.GetDepthInMainChain());
                                      // if (fDebug)printf("updateAddressBalance nValue %s\n", BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), txout.nValue).toStdString().c_str());
                                      // if (fDebug)printf("updateAddressBalance nAmount %s\n", BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), nAmount).toStdString().c_str());
                                      

                                      miner.cpp

                                      Action Most left as is, couple reviewed and commented out.

                                      LogPrintf("COrphan(hash=%s, dPriority=%.1f, dFeePerKb=%.1f)\n", ptx->GetHash().ToString(), dPriority, dFeePerKb);
                                       LogPrintf("   setDependsOn %s\n", hash.ToString());
                                          bool fPrintPriority = GetBoolArg("-printpriority", false);
                                       LogPrintf("ERROR: mempool transaction missing input\n");
                                              if (fPrintPriority)
                                                  LogPrintf("priority %.1f feeperkb %.1f txid %s\n", dPriority, dFeePerKb, tx.GetHash().ToString());
                                       LogPrintf("CreateNewBlock(): total size %u\n", nBlockSize);
                                       //// debug print
                                       LogPrintf("FeathercoinMiner:\n");
                                       LogPrintf("proof-of-work found  \n  hash: %s  \ntarget: %s\n", hash.GetHex(), hashTarget.GetHex());
                                       pblock->print();
                                       LogPrintf("generated %s\n", FormatMoney(pblock->vtx[0].vout[0].nValue));
                                       LogPrintf("FeathercoinMiner started\n");
                                       LogPrintf("Running FeathercoinMiner with %u transactions in block (%u bytes)\n", pblock->vtx.size(),
                                       LogPrintf("hashmeter %6.0f khash/s\n", dHashesPerSec/1000.0);
                                       LogPrintf("FeathercoinMiner terminated\n");
                                      

                                      util.cpp

                                      Action No action left as is.

                                         LogPrintf("%+d  ", n);
                                         LogPrintf("|  ");
                                      
                                      1 Reply Last reply Reply Quote 0
                                      • wrapper
                                        wrapper Moderators last edited by

                                        main.cpp

                                        Debug messages remaining.

                                        2017-09-22 10:00:20   nActualTimespan = 23  before bounds
                                        2017-09-22 10:00:20 RETARGET: nActualTimespanShort = 61, nActualTimespanMedium = 55, nActualTimespanLong = 65, nActualTimeSpanAvg = 60, nActualTimespan (damped) = 60
                                        2017-09-22 10:00:20 CheckProofOfWork() hash=000000000c459c4744ba2c6d04f1b3b137d8d4bad5ca8eed9abd5cf95f8a18fc 
                                        2017-09-22 10:00:20 CheckProofOfWork() nBits=470597168 
                                        2017-09-22 10:00:20 CheckProofOfWork() bnTarget.getuint256=000000000cbe3000000000000000000000000000000000000000000000000000 
                                        2017-09-22 10:00:20 CheckProofOfWork() hash=000000000c459c4744ba2c6d04f1b3b137d8d4bad5ca8eed9abd5cf95f8a18fc 
                                        2017-09-22 10:00:20 CheckProofOfWork() nBits=470597168 
                                        2017-09-22 10:00:20 CheckProofOfWork() bnTarget.getuint256=000000000cbe3000000000000000000000000000000000000000000000000000 
                                        2017-09-22 10:00:20 UpdateTip: new best=5e454165c26d7d2115e564511ba041e05da416286607eb95cb724845e3fde581  height=1893653  log2_work=58.112033  tx=3857100  date=2017-09-22 07:31:49 progress=0.999833
                                        
                                        1 Reply Last reply Reply Quote 0
                                        • wrapper
                                          wrapper Moderators last edited by wrapper

                                          Re : -dumpwallet - https://github.com/FeatherCoin/Feathercoin/issues/236

                                          rpcdump.cpp

                                          file << strprintf("# Wallet dump created by Bitcoin %s (%s)\n", CLIENT_BUILD, CLIENT_DATE);
                                          

                                          Todo / Test : Compare with @ghostlanders FTC 0.8.4 version?

                                          https://github.com/FeatherCoin/Feathercoin/commits/master-0.8

                                          Re: @looarn

                                          Here what I found today, don’t know if it’s a known issue ?
                                          https://github.com/FeatherCoin/Feathercoin/issues/236

                                          Basicly dumpwallet, only dump header, the content of the wallet doesn’t show.

                                          1 Reply Last reply Reply Quote 0
                                          • wrapper
                                            wrapper Moderators last edited by wrapper

                                            Bitcoin 0.9.3 potential backports to FTC 0.9.6.2

                                            Action: not implemented

                                            consensus: guard against openssl’s new strict DER checks

                                            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
                                            Rebased-From: 488ed32

                                            https://github.com/bitcoin/bitcoin/commit

                                            https://github.com/bitcoin/bitcoin/commit/60c51f1c381bbd93c70cfdf41c6688609a7956fc

                                            Action: not implemented

                                            fail immediately on an empty signature

                                            Github-Pull: #5634
                                            Rebased-From: 8dccba6/b8e81b7ccd4490155e3345fc73346ff8c3a77524

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post