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

      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
                            • wrapper
                              wrapper Moderators last edited by

                              Bug in FTC 0.9.6.xxx

                              https://github.com/FeatherCoin/Feathercoin/issues/239

                              Confimed same bug in FTC.

                              https://github.com/litecoin-project/litecoin/issues/388

                              `static CBlock CreateGenesisBlock(const char* pszTimestamp, const CScript& genesisOutputScript, uint32_t nTime, uint32_t nNonce, uint32_t nBits, int32_t nVersion, const CAmount& genesisReward)
                              {
                              CMutableTransaction txNew;
                              txNew.nVersion = 1;
                              txNew.vin.resize(1);
                              txNew.vout.resize(1);

                              /// In this line where 486604799 ==> 1d00ffff Which is Bitcoin’s nBits value Should not be used
                              /// but instead 504365040 this value should have been used. I don’t know if it can cause any problem
                              /// that’s what i found and I wanted to share.
                              txNew.vin[0].scriptSig = CScript() << 486604799 << CScriptNum(4) << std::vector((const unsigned char*)pszTimestamp, (const unsigned char*)pszTimestamp + strlen(pszTimestamp));
                              txNew.vout[0].nValue = genesisReward;
                              txNew.vout[0].scriptPubKey = genesisOutputScript;

                              CBlock genesis;
                              genesis.nTime = nTime;
                              genesis.nBits = nBits;
                              genesis.nNonce = nNonce;
                              genesis.nVersion = nVersion;
                              genesis.vtx.push_back(MakeTransactionRef(std::move(txNew)));
                              genesis.hashPrevBlock.SetNull();
                              genesis.hashMerkleRoot = BlockMerkleRoot(genesis);
                              return genesis;

                              }`

                              From FTC — 0.9.6.1

                              https://github.com/FeatherCoin/Feathercoin/blob/master-0.9/src/chainparams.cpp#L66

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

                                This looks like a worthwhile update to Zxing, gives improved edge detection for QR codes and more java code converted to C++.

                                https://github.com/nu-book/zxing-cpp

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