Feathercoin daemon and wallet production version 0.19.1
Old daemon and wallet version 0.18.3

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


  • Moderators | Tip wrapper

    Missing from 0.11 :

    bitcoinstrings.cpp missing

    coinnectordialog.cpp
    coinnectordialog.h

    aboutdialog.ui (unpushed update from 0.9.6.1)

    coinnectordialog.ui

    opennamedialog.ui missing?

    shiftdialog.ui

    bitcoin_de_AT.ts

    Makefile.am
    monitoreddatamapper.cpp
    monitoreddatamapper.h

    qt/res: feathercoin-qt-res.rc
    qt/res: fonts

    Various Image Files

    shiftdialog.cpp
    shiftdialog.h

    rpcdump.cpp
    rpcwallet.cpp
    moved

    script.cpp Missing?
    script.h

    stealth.cpp
    stealth.h
    moved

    Various Test Files

    version.cpp

    Only in ~/Feathercoin0.9.6.2/src: wallet.cpp
    Only in ~/Feathercoin0.9.6.2/src: walletdb.cpp
    Only in ~/Feathercoin0.9.6.2/src: walletdb.h
    Only in ~/Feathercoin0.9.6.2/src: wallet.h moved to /src/wallet ?


  • Moderators | Tip Wellenreiter

    the file structure has changed, so some of the listed files may not be needed anymore

    It needs deeper checking


  • Moderators | Tip wrapper

    Merge 0.9.6.2 with 0.11
    Just looking at pulling in all the 0.9.6.2 fixes, see if that corrects the build problem. I’d rather work on re-implementing a few 0.11 specific files than find a possible .gitignore missing file or setting only @Lizhi has on his PC…

    I have created a working document, to assist or add to the document, fork the repository https://github.com/wrapperband/FTC-Wallet-Layout-Examples/blob/master/Develpment/0.11-0.9merge Conflicts.txt and update the document. Push any changes.

    To work on the merge, create a branch of 0.11, clone it, then replace the names with your test branch, create the pull, then use the command line to merge. Note : normally merges would be the other way round, in this case 0.9.6.2 is building and 0.11 is not. …

    https://github.com/wrapperband/Feathercoin/pull/1

    git fetch origin
    git checkout -b 0.9.6.2 origin/0.9.6.2
    git merge 0.11.2-wrapper

    These files have conflicts, 0.11 should be used.
    src/alert.cpp
    src/alert.h
    src/base40.h
    src/base58.cpp
    src/chainparams.cpp
    src/chainparams.h

    These need checking but shouldn’t be stoppers.
    share/pixmaps/bitcoin.ico
    share/pixmaps/nsis-header.bmp
    share/pixmaps/nsis-wizard.bmp


  • Moderators | Tip wrapper

    configure.ac

    0.9.6.2 specific merge conflict

    define(_CLIENT_VERSION_MINOR, 9)
    define(_CLIENT_VERSION_REVISION, 6)
    define(_CLIENT_VERSION_BUILD, 2)
    define(_CLIENT_VERSION_IS_RELEASE, false)
    define(_COPYRIGHT_YEAR, 2017)
    AC_INIT([Feathercoin Core],[_CLIENT_VERSION_MAJOR._CLIENT_VERSION_MINOR._CLIENT_VERSION_REVISION],[[email protected]],[feathercoin])
    AC_CONFIG_AUX_DIR([src/build-aux])
    AC_CONFIG_MACRO_DIR([src/m4])

    Merged version is 0.11 - Structure of build is changed. Updated the support issues referance to github.

    define(_CLIENT_VERSION_MINOR, 11)
    define(_CLIENT_VERSION_REVISION, 2)
    define(_CLIENT_VERSION_BUILD, 6)
    define(_CLIENT_VERSION_IS_RELEASE, false)
    define(_COPYRIGHT_YEAR, 2017)
    define(_USE_ZXING,1)

    AC_INIT([Feathercoin Core],[_CLIENT_VERSION_MAJOR._CLIENT_VERSION_MINOR._CLIENT_VERSION_REVISION],[https://github.com/Feathercoin/Feathercoin/issues],[feathercoin])
    AC_CONFIG_SRCDIR([src/main.cpp])
    AC_CONFIG_HEADERS([src/config/bitcoin-config.h])
    AC_CONFIG_AUX_DIR([build-aux])
    AC_CONFIG_MACRO_DIR([build-aux/m4])


  • Moderators | Tip wrapper

    configure.ac

    HEAD
    ]])],[boost_sleep=yes; BOOST_LIBS="$BOOST_LIBS $BOOST_CHRONO_LIB";
    AC_DEFINE(HAVE_WORKING_BOOST_SLEEP_FOR, 1, [Define this symbol if boost sleep_for works])],[boost_sleep=no])


    ]])],
    [boost_sleep=yes;
    AC_DEFINE(HAVE_WORKING_BOOST_SLEEP_FOR, 1, [Define this symbol if boost sleep_for works])],
    [boost_sleep=no])

    ---- origin/0.11.2-wrapper

    LIBS="$TEMP_LIBS"
    CPPFLAGS="$TEMP_CPPFLAGS"

    if test x$boost_sleep != xyes; then
    TEMP_LIBS="$LIBS"
    LIBS="$BOOST_LIBS $LIBS"
    TEMP_CPPFLAGS="$CPPFLAGS"
    CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
    AC_LINK_IFELSE([AC_LANG_PROGRAM([[

    #include <boost/version.hpp>
    #include <boost/thread.hpp>
    #include <boost/date_time/posix_time/posix_time_types.hpp>
    HEAD

    ]], [[

    =======

    ]],[[

    ------ origin/0.11.2-wrapper

    #if BOOST_VERSION <= 105600
    boost::this_thread::sleep(boost::posix_time::milliseconds(0));
    #else
    choke me
    #endif

    ----- HEAD

    ]])],[boost_sleep=yes; AC_DEFINE(HAVE_WORKING_BOOST_SLEEP, 1, [Define this symbol if boost sleep works])],[boost_sleep=no])


    ]])],
    [boost_sleep=yes; AC_DEFINE(HAVE_WORKING_BOOST_SLEEP, 1, [Define this symbol if boost sleep works])],
    [boost_sleep=no])

    ------- origin/0.11.2-wrapper


  • Moderators | Tip wrapper

    main.h conflicts -> add opennames variables back?

    <<<<<<< HEAD
    static const unsigned char OPENNAME_MAGIC_BYTES_MAINSET=0x08;
    static const unsigned char OPENNAME_MAGIC_BYTES_TESTSET=0x88;
    /* These definitions generate warnings, but they are used in utility dialog.cpp
    static const char* OPENNAME_NAME_PREORDER=“a”;
    static const char* OPENNAME_NAME_REGISTRATION=“b”;
    static const char* OPENNAME_NAME_UPDATE=“c”;
    static const char* OPENNAME_NAME_TRANSFER=“d”;
    static const char* OPENNAME_NAME_RENEWAL=“e”;
    */

    struct COrphanBlock {
    uint256 hashBlock;
    uint256 hashPrev;
    vector<unsigned char> vchBlock;


  • Moderators | Tip wrapper

    main.h 0.11.2 update.

    Added these definition back in for moment?

    – HEAD

    extern std::map<uint256, CBlock*> mapOrphanBlocksA;
    extern std::map<uint256, COrphanBlock*> mapOrphanBlocks;

    ----- origin/0.11.2-wrapper


  • Moderators | Tip wrapper

    main.h conflicts

    Test replaced by function? removed for now.

    HEAD 0.9.6.2

     CMerkleTx()
     {
         Init();
     }
    
    CMerkleTx(const CTransaction& txIn) : CTransaction(txIn)
    {
        Init();
    }
    
    void Init()
    {
        hashBlock = 0;
        nIndex = -1;
        fMerkleVerified = false;
    }
    
    
    IMPLEMENT_SERIALIZE
    (
        nSerSize += SerReadWrite(s, *(CTransaction*)this, nType, nVersion, ser_action);
        nVersion = this->nVersion;
        READWRITE(hashBlock);
        READWRITE(vMerkleBranch);
        READWRITE(nIndex);
    )
    
    
    int SetMerkleBranch(const CBlock* pblock=NULL);
    
    // Return depth of transaction in blockchain:
    // -1  : not in blockchain, and not in memory pool (conflicted transaction)
    //  0  : in memory pool, waiting to be included in a block
    // >=1 : this many blocks deep in the main chain
    int GetDepthInMainChain(CBlockIndex* &pindexRet) const;
    int GetDepthInMainChain() const { CBlockIndex *pindexRet; return GetDepthInMainChain(pindexRet); }
    int GetHeightInMainChain(CBlockIndex* &pindexRet) const;
    int GetHeightInMainChain() const { CBlockIndex *pindexRet; return GetHeightInMainChain(pindexRet); }
    bool IsInMainChain() const { CBlockIndex *pindexRet; return GetDepthInMainChainINTERNAL(pindexRet) > 0; }
    int GetBlocksToMaturity() const;
    bool AcceptToMemoryPool(bool fLimitFree=true);
    

    ----- 0.11
    ScriptError GetScriptError() const { return error; }
    – origin/0.11.2-wrapper


  • Moderators | Tip Wellenreiter

    Regarding opennames variables, leave them out, if they are not already in 0.11.2 code. They are defined in file included by much more files, than needed and generate bulks of error messages ‘variable defined, but not used’ Iv’e tried to remove the definitions wherever possible when trying to compile 0.11.2 last year.


  • Moderators | Tip AcidD

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

    After adding missing files / updating configure.ac :

    src/qt/qrcodedialog.h and qrcodedialog.cpp

    Compile fails at :

    In file included from qt/addressbookpage.cpp:32:0:
    qt/qrcodedialog.h:22:9: error: expected ‘:’ before ‘slots’
    private slots:

    https://stackoverflow.com/questions/20185423/qt-cmake-missing-before-identifier-slots

    Tried adding missing file : feathercoin.qrc

    Created list of files Not in version 0.11.2 but in version 0.9.6.2 in ~/projects/Feathercoin :

    diff -r ~/projects/Feathercoin ~/Feathercoin | grep ~/projects/Feathercoin > difference2.txt

    To fix this error:

    In file included from qt/addressbookpage.cpp:32:0:
    qt/qrcodedialog.h:22:9: error: expected ‘:’ before ‘slots’
    private slots:

    This was mine:

    qt/qrcodedialog.h:22:9: error: expected ‘:’ before ‘slots’
     private slots:
             ^
    qt/qrcodedialog.h:22:9: error: ‘slots’ does not name a type
    

    Open
    qt/qrcodedialog.h:

    change line 22 from

     private slots:
    

    to

    private Q_SLOTS:
    

    https://forum.qt.io/topic/17952/slot-declaration-rare-problem-to-resolve-solved/2


  • Moderators | Tip AcidD

    0.11.2 build error

      CXX      qt/qt_libbitcoinqt_a-qrcodedialog.o
    qt/qrcodedialog.cpp: In member function ‘QString QRCodeDialog::getURI()’:
    qt/qrcodedialog.cpp:98:67: error: ‘FTC’ is not a member of ‘BitcoinUnits’
                 ret += QString("?amount=%1").arg(BitcoinUnits::format(BitcoinUnits::FTC, ui->lnReqAmount->value()));
                                                                       ^
    Makefile:5151: recipe for target 'qt/qt_libbitcoinqt_a-qrcodedialog.o' failed
    make[2]: *** [qt/qt_libbitcoinqt_a-qrcodedialog.o] Error 1
    
    

    go check src/qt/bitcoinunits.cpp and .h

    easy fix

    add relevant FTC eqivilants into bitcoinunits.h

        enum Unit
        {
            MBTC,
            kBTC,
            BTC,
            mBTC,
            uBTC, 
            MFTC,
            kFTC,
            FTC,
            mFTC,
            uFTC
        };
    

    proper fix…edit both files …requires further understanding of the code for me.


  • Moderators | Tip Wellenreiter

    @AcidD we should create and use a feathercoinunits.cpp/.h and use that instead


  • Moderators | Tip wrapper

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

    @AcidD we should create and use a feathercoinunits.cpp/.h and use that instead

    I agree and this is the same thing we need to look at for other changes during the review whilst moving to head.
    The main reason is to make future merges less problematic.


  • Moderators | Tip AcidD

    Can someone fork Bitcoin into the Feathercoin Github ?

    @Wrapper you made a fair point a while back somewhere…if we properly fork from Bitcoin head and then do our commits we can easily pull in their fixes as well ?


  • Moderators | Tip wrapper

    @AcidD Yes, thats the job I call “Going to Head” !


  • Moderators | Tip wrapper

    Getting this message opening the debug.log in 0.11.2

    The file /home/tony/.feathercoin/debug.log was opened with UTF-8 encoding but contained invalid characters.
    It is set to read-only mode, as saving might destroy its content.
    Either reopen the file with the correct encoding chosen or enable the read-write mode again in the tools menu to be able to edit it.


  • Moderators | Tip AcidD

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

    Getting this message opening the debug.log in 0.11.2

    The file /home/tony/.feathercoin/debug.log was opened with UTF-8 encoding but contained invalid characters.
    It is set to read-only mode, as saving might destroy its content.
    Either reopen the file with the correct encoding chosen or enable the read-write mode again in the tools menu to be able to edit it.

    When writing to the Debug log, does 0.11.2 leave comments that are written by @lizhi and therefore uses a different character encoding?


  • Moderators | Tip wrapper

    https://bter.com/trade/ftc_btc

    Is running Feathercoin 0.9.3.2


  • Moderators | Tip wrapper

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

    When writing to the Debug log, does 0.11.2 leave comments that are written by @lizhi and therefore uses a different character encoding?

    Server Hosted in Luxemberg + FTC = BTER


  • Moderators | Tip wrapper

    Issue Notes :

    Whilst syncing a (fresh blockchain database/wallet) Feathercoin 0.11.2-dev , mouse over the exclamation mark next to Balances . says Bitcoin

    QRCodes did not work - need review after merge complete

    Check : Transaction fee set to 0.00001 FTC/kB

    Sign message - tool tip on Advanced menu option - Verify message sign message tab says bitcoin

    Verify message - tool tip on Advanced menu option - Verify message - Verify message tab says bitcoin

    Advanced / Options / Wallet : Check default coin control settings are correct

    There are quite a few changes made to the wallet structure, the standard bitcoin connection animation looks Ok. opennames is missing.

    @AFB helped to do some fiddling to bring in all the improvements we did into 0.11.2 , possibly make a couple more icons / update some bad new forms.

    There is another test (that would help us move to head) - Fork Bitcoin, checkout 0.11 last version - merge ftc 0.11.2

    Update autoconfig.sh to test for zxing Directory e.g. :
    if [ ! -d “$DIRECTORY” ]; then
    # Control will enter here if $DIRECTORY doesn’t exist.
    fi

    Update Re-Indexing message to be more friendly / informative? (when you upgrade)

    Why do we have uFTC and mFTC surely DecaFTC is more logical?? (needs review)

    Test and document Smart contracts.

    Smart contracts is just a form, review and remove, smart contract form.

    SX search for stealth coins not included.

    find not utf-8 characters grep -axv ‘.*’ main.cpp

    propose launch option shrink debug file :

    Add -shrinkdebuglog to the options you use to start feathercoin, or add shrinkdebuglog=1 to your feathercoin.conf. Every startup, if the log is larger than 1MB, it will shrink it to 200KB.

    wallet.cpp change control :
    // TODO: fix handling of ‘change’ outputs. The assumption is that any
    // payment to a script that is ours, but is not in the address book
    // is change. That assumption is likely to break when we implement multisignature
    // wallets that return change back into a multi-signature-protected address;
    // a better way of identifying which outputs are ‘the send’ and which are
    // ‘the change’ will need to be implemented (maybe extend CWalletTx to remember
    // which output, if any, was change).

    Fri, 12 September 2014 16:29:30 -0400 build date incorrect, debug information @wellenreiter

    Add these dependencies to FTC unix build docs :
    libevent-2.0-5 libevent-dev libevent-extra-2.0-5 libevent-openssl-2.0-5 libevent-pthreads-2.0-5

    LogPrintf(" (no) space error(s)

    Enter multisync, new address, press ok with no address. – Incorrect error message.
    The entered address “” is not a valid Bitcoin address.

    Multisig page, - verify message button - not connected to anything …

    Update the openSSL version used / review : OpenSSL 1.0.2g 1 Mar 2016

    Re-Integrate updated Documents from 0.9.6.2

    Review MAN pages - copied in from 0.9.6.1 because 0.11.2 MANs were deleted. need review against Bitcoin 0.11.1

    src/qt/forms/debugdialog.ui - Reused form SX form and menu options need reapplying.

    feathercoin.qrc has not been implemented in 0.11 - being worked on as part of merge

    Icons are missing, test icons - being tested / brought in as part of merge

    https://github.com/litecoin-project/litecoin/pull/362 SSE2 Litecoin enhancement.
    https://uk.mathworks.com/matlabcentral/answers/93455-what-is-the-sse2-instruction-set-how-can-i-check-to-see-if-my-processor-supports-it?requestedDomain=www.mathworks.com

    ACP is not working in 0.11

    openssl version and future use review :
    https://github.com/peercoin/peercoin/commit/3320650372750068dff45193603d17998a975117


Log in to reply