Feathercoin daemon and wallet production version 0.17.0.2

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


  • Moderators | Tip 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;
    

  • Moderators | Tip 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


  • Moderators | Tip 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
    

  • Moderators | Tip wrapper

    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 
    

  • Moderators | Tip Wellenreiter

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


  • Moderators | Tip wrapper

    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*)’

  • Moderators | Tip Wellenreiter

    try --with-gui=qt5

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


  • Moderators | Tip wrapper

    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"


  • Moderators | Tip Wellenreiter

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


  • Moderators | Tip 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…


  • Moderators | Tip 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);

  • Moderators | Tip wrapper

    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;
    

  • Moderators | Tip 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> >();
    

  • Moderators | Tip 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("|  ");

  • Moderators | Tip wrapper

    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
    

  • Moderators | Tip 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.


  • Moderators | Tip 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


  • Moderators | Tip wrapper

    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


  • Moderators | Tip wrapper

    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