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

    Test : failed
    QRcodes in 0.9.6.1 - Only the buttons are visible? has the ui file gone?


  • Moderators | Tip Wellenreiter

    @wrapper without the ui file you’d get errors during compile, as some signals/slots are missing.


  • Moderators | Tip wrapper

    @Wellenreiter said in [Dev] Feathercoin 0.9.6.2 * Maintenance fix & Issues notes for 0.11.2:

    @wrapper without the ui file you’d get errors during compile, as some signals/slots are missing.

    This is testing the 0.9.6.1 release. Just noting, haven’t investigated why …


  • Moderators | Tip Wellenreiter

    @wrapper I have the same with 0.11.2
    buttons are there, but nothing happens


  • Moderators | Tip wrapper

    Building 0.11.2 - merge should be LogPrintf(" space …

    Noticed this warning, that could be fixed. Noting.

    wallet/wallet.cpp:2746:27: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
    LogPrintf(“pkExtracted=%“PRIszu”:%s\n”, pkExtracted.size(), HexStr(pkExtracted).c_str()); //Is empty


  • Moderators | Tip AcidD

    @wrapper said in [Dev] Feathercoin 0.9.6.2 * Maintenance fix & Issues notes for 0.11.2:

    Building 0.11.2 - merge should be LogPrintf(" space …

    Noticed this warning, that could be fixed. Noting.

    wallet/wallet.cpp:2746:27: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
    LogPrintf(“pkExtracted=%“PRIszu”:%s\n”, pkExtracted.size(), HexStr(pkExtracted).c_str()); //Is empty

    This will HAVE to be fixed for the next release, the main issue is the MacOS build will fail on this warning… linux and windows the build continues with the warning.


  • | Tip bluebox

    @AcidD Hate to pile on another request, but can you target at least El Capitan compatibility for the next official build? The 0.9.6.1 build cannot run on 10.11, so I’m stuck with looking at a yellow upgrade banner for a while. Did you compile on 10.12 for a reason, deps, etc.?


  • | Tip bluebox

    @AcidD Sorry, that wasn’t a very “community effort” post I made… “Ask not what Feathercoin (dev’s) can do for you, ask what you can do for Feathercoin” 🙂

    I’ll try my hand at compiling the official 0.9.6.1 release on 10.11 (physical Mac, not VM’s!) given your instructions here. 'Bout time I did some Mac compiling, been living in the linux world too long. I do have a 10.12 system to test forward compatibility.

    DIY, baby!


  • Moderators | Tip AcidD

    @bluebox said in [Dev] Feathercoin 0.9.6.2 * Maintenance fix & Issues notes for 0.11.2:

    @AcidD Sorry, that wasn’t a very “community effort” post I made… “Ask not what Feathercoin (dev’s) can do for you, ask what you can do for Feathercoin” 🙂

    I’ll try my hand at compiling the official 0.9.6.1 release on 10.11 (physical Mac, not VM’s!) given your instructions here. 'Bout time I did some Mac compiling, been living in the linux world too long. I do have a 10.12 system to test forward compatibility.

    DIY, baby!

    Follow this one
    https://forum.feathercoin.com/topic/8769/guide-build-feathercoind-feathercoin-qt-v0-9-3-1-on-macos-sierra

    it’s a proper guide I wrote for the 0.9.X series…it is still valid for 0.9.6.1

    See post 1.


  • Moderators | Tip AcidD

    @bluebox said in [Dev] Feathercoin 0.9.6.2 * Maintenance fix & Issues notes for 0.11.2:

    @AcidD Hate to pile on another request, but can you target at least El Capitan compatibility for the next official build? The 0.9.6.1 build cannot run on 10.11, so I’m stuck with looking at a yellow upgrade banner for a while. Did you compile on 10.12 for a reason, deps, etc.?

    Hi, Please try the download at Feathercoin.com now.


  • | Tip bluebox

    @AcidD Works perfectly, thanks!


  • Moderators | Tip wrapper

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

    Sync speed up recommendations / switches available :

    feathercoin-qt -maxorphanblocks=10000 -maxorphantx=10000 -shrinkdebugfile

    Blockchain sync speed investigation / improvements and changes.

    wallet.cpp - Contains non UTF-8 characters - translated and removed
    - Contains unnecessary non-debug / development messages - commented out.

    main.cpp - Contains unnecessary non-debug / development messages - commented out.

    db.cpp - Contains unnecessary non-debug / development messages - commented out.

    net.cpp - Contains unnecessary non-debug / development messages - commented out.

    util.ccp - Contains unnecessary non-debug / development messages - commented out.

    util.h - Contains unnecessary non-debug / development messages - commented out.

    noui.cpp - Contains unnecessary non-debug / development messages - commented out.

    leveldbwrapper.cpp - Contains unnecessary non-debug / development messages - commented out.


  • Moderators | Tip wrapper

    Change Oprhan, ERROR to be a debug error. Orphans appear in the chain as part of the normal operation of the blockchain.

    main.cpp line 1502

     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;
     }
    

    Original Code

            if (hash > bnTarget.getuint256())
               {
                 if (fDebug)
                     LogPrintf("matches claimed amount, CheckProofOfWork() : hash doesn't match nBits");
                  }
             return true;
         return true;
     }
    

    Updated code


  • Moderators | Tip wrapper

    Remaining Messages :

    2017-08-12 10:33:13 ProcessBlock() ProcessBlock: ORPHAN BLOCK 135, prev=5adbae1967ce709f0a64d13a248043af2aa628851896655890604a9390e4d6f2

    main.cpp Line 3208

    {
        LogPrintf("ProcessBlock() ProcessBlock: ORPHAN BLOCK %lu, prev=%s\n", (unsigned long)mapOrphanBlocks.size(), pblock->hashPrevBlock.ToString());
    
        // Accept orphans as long as there is a node to request its parents from
        if (pfrom) {
    

    Original code

    {
        if (fDebug)
             LogPrintf("ProcessBlock() ProcessBlock: ORPHAN BLOCK %lu, prev=%s\n", (unsigned long)mapOrphanBlocks.size(), pblock->hashPrevBlock.ToString());
    

    Updated code


  • Moderators | Tip wrapper

    Remaining Messages :

    2017-08-12 10:33:13 StealthSecret failed.rv=5

    wallet.cpp - Line 2060

          {
                if (fDebug)
                    LogPrintf("StealthSecret failed.rv=%d \n",rv);
                continue;
            };
    

    Add fDebug test to message, stealth fails due to not being included yet. Message must by misinterpreting some (orphan) blocks as having stealth addresses?


  • Moderators | Tip wrapper

    Block 1089183
    Date Sun Feb 14 20:19:13 2016

    2017-08-12 11:02:52 setKeyPool.size() = 100
    2017-08-12 11:02:52 mapWallet.size() = 21
    2017-08-12 11:02:52 mapAddressBook.size() = 45
    2017-08-12 11:02:52 init message: Done loading
    2017-08-12 11:02:52 ERROR: AcceptToMemoryPool : nonstandard transaction: non-final
    2017-08-12 11:02:52 Initialization result: 1
    2017-08-12 11:03:03 dnsseed thread exit
    2017-08-12 11:03:08 GetMyExternalIP() returned 88.105.71.156
    2017-08-12 11:03:08 AddLocal(88.105.71.156:9336,4)
    2017-08-12 11:03:08 ext-ip thread exit
    2017-08-12 11:03:19 ERROR: CAlert::CheckSignature() : verify signature failed
    2017-08-12 11:03:19 Misbehaving: 66.207.163.137:9336 (0 -> 10)
    2017-08-12 11:03:30 ERROR: AcceptToMemoryPool : nonstandard transaction: non-final
    2017-08-12 11:03:30 ERROR: CheckBlockHeader() : block with timestamp before last checkpoint
    2017-08-12 11:03:30 ERROR: ProcessBlock() : CheckBlock FAILED
    2017-08-12 11:03:31 ERROR: CheckBlockHeader() : block with timestamp before last checkpoint
    2017-08-12 11:03:31 ERROR: ProcessBlock() : CheckBlock FAILED
    2017-08-12 11:03:31 ERROR: CheckBlockHeader() : block with timestamp before last checkpoint
    2017-08-12 11:03:31 ERROR: ProcessBlock() : CheckBlock FAILED


  • Moderators | Tip wrapper

    ERROR: AcceptToMemoryPool : nonstandard transaction: non-final

    main.cpp Line 899

        if (Params().NetworkID() == CChainParams::MAIN && !IsStandardTx(tx, reason))
             return state.DoS(0,
                         error("AcceptToMemoryPool : nonstandard transaction: %s", reason),
                         REJECT_NONSTANDARD, reason);
    

    Original code

        if (Params().NetworkID() == CChainParams::MAIN && !IsStandardTx(tx, reason))
             if (fDebug)
                  LogPrintf("AcceptToMemoryPool : nonstandard transaction: %s");
             return state.DoS(0,NULL, REJECT_NONSTANDARD, reason);

  • Moderators | Tip wrapper

    Remaining Debug Output :

    2017-08-12 11:53:42 No coin database inconsistencies in last 289 blocks (484 transactions)
    2017-08-12 11:53:42 init message: Checking ACP …
    2017-08-12 11:53:42 block index 14099ms
    2017-08-12 11:53:42 init message: Loading wallet…
    2017-08-12 11:53:43 nFileVersion = 90602
    2017-08-12 11:53:43 Keys: 0 plaintext, 0 encrypted, 149 w/ metadata, 0 total
    2017-08-12 11:53:43 wallet 209ms
    2017-08-12 11:53:43 init message: Loading addresses…
    2017-08-12 11:53:28 Feathercoin version v0.9.6.2-ftcit-Standard (2017-07-14 17:27:25 +0200)
    2017-08-12 11:53:28 Using OpenSSL version OpenSSL 1.0.2g 1 Mar 2016
    2017-08-12 11:53:28 Using BerkeleyDB version Berkeley DB 5.3.28: (September 9, 2013)
    2017-08-12 11:53:28 Default data directory /home/wrapper/.feathercoin
    2017-08-12 11:53:28 Using data directory /home/wrapper/.feathercoin
    2017-08-12 11:53:28 Using at most 125 connections (1024 file descriptors available)
    2017-08-12 11:53:28 Using 8 threads for script verification
    2017-08-12 11:53:28 Using wallet wallet.dat
    2017-08-12 11:53:28 init message: Verifying wallet…
    2017-08-12 11:53:28 init message: Loading block index…
    2017-08-12 11:53:42 LoadBlockIndexDB(): synchronized checkpoint 12a765e31ffd4059bada1e25190f6e98c99d9714d334efa41a195a7e7e04bfe2
    2017-08-12 11:53:42 init message: Verifying blocks…
    2017-08-12 11:53:42 pindex->GetBlockHash()=27194dbff22fde7e4c1552ac82d3e610e405a65d2236d2ebbfa42a7565229b2a
    2017-08-12 11:53:42 view.GetBestBlock()=27194dbff22fde7e4c1552ac82d3e610e405a65d2236d2ebbfa42a7565229b2a
    2017-08-12 11:53:43 Loaded 10230 addresses from peers.dat 43ms
    2017-08-12 11:53:43 mapBlockIndex.size() = 1089184
    2017-08-12 11:53:43 nBestHeight = 1089183
    2017-08-12 11:53:43 setKeyPool.size() = 100
    2017-08-12 11:53:43 mapWallet.size() = 21
    2017-08-12 11:53:43 mapAddressBook.size() = 45
    2017-08-12 11:53:43 init message: Done loading
    2017-08-12 11:53:43 Initialization result: 1
    2017-08-12 11:53:45 GetMyExternalIP() returned xxx.xxx.xxx.xxx
    2017-08-12 11:53:45 AddLocal(xxx.xxx.xxx.xxx:9336,4)
    2017-08-12 11:53:45 ext-ip thread exit
    2017-08-12 11:53:54 dnsseed thread exit


  • Moderators | Tip wrapper

    Re: LoadBlockIndexDB(): synchronized checkpoint 12a765e31ffd4059bada1e25190f6e98c99d9714d334efa41a195a7e7e04bfe2

    **main.cpp - Line 3544

    // ppcoin: load hashSyncCheckpoint
    if (!pblocktree->ReadSyncCheckpoint(hashSyncCheckpoint))
    	 LogPrintf("LoadBlockIndexDB(): synchronized checkpoint not read\n");
    else
    	 LogPrintf("LoadBlockIndexDB(): synchronized checkpoint %s\n", hashSyncCheckpoint.ToString().c_str());
    

    Original code

    if (!pblocktree->ReadSyncCheckpoint(hashSyncCheckpoint))
    	 LogPrintf("LoadBlockIndexDB(): synchronized checkpoint not read\n");
    else
         if (fDebug)
         	 LogPrintf("LoadBlockIndexDB(): synchronized checkpoint %s\n", hashSyncCheckpoint.ToString().c_str());

  • Moderators | Tip wrapper

    Re: pindex->GetBlockHash() and view.GetBestBlock()

    2017-08-12 12:19:10 init message: Verifying blocks…
    2017-08-12 12:19:10 pindex->GetBlockHash()=e99f253c8e758d109b7b52b17509d34196229628ead58ac3fe4ab4d278e97acc
    2017-08-12 12:19:10 view.GetBestBlock()=e99f253c8e758d109b7b52b17509d34196229628ead58ac3fe4ab4d278e97acc

    main.cpp - Line 1823

          LogPrintf("pindex->GetBlockHash()=%s \n",pindex->GetBlockHash().ToString());
         LogPrintf("view.GetBestBlock()=%s \n",view.GetBestBlock().ToString());
    

    Original code

          if (fDebug)
               LogPrintf("pindex->GetBlockHash()=%s \n",pindex->GetBlockHash().ToString());
          if (fDebug)
               LogPrintf("view.GetBestBlock()=%s \n",view.GetBestBlock().ToString());
    

    Updated code

    if (fDebug)
         LogPrintf("ConnectBlock hashPrevBlock=%s \n",hashPrevBlock.ToString());
    if (fDebug)
         LogPrintf("ConnectBlock view.GetBestBlock()=%s \n",view.GetBestBlock().ToString());
    

    Code update main.cpp Line 1957