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

    [Dev] Documenting Feathercoin Specific Software settings - Part 20

    Technical Development
    1
    12
    3961
    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

      Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*

      Fixed #159 - Creates Feathercoin Unit Test Files :: commit

      unit tests compile creates test_bitcoin files #159

      https://github.com/FeatherCoin/Feathercoin/commit/c2e3140c274037ab50ae1c498208ab4b7e64ab3e

      src/test/test_feathercoin.cpp

       +// Copyright (c) 2011-2013 The Bitcoin Core developers
       +// Distributed under the MIT/X11 software license, see the accompanying
       +// file COPYING or http://www.opensource.org/licenses/mit-license.php.
       +
       +#define BOOST_TEST_MODULE Bitcoin Test Suite
       +
       +
       +
       +#include "main.h"
       +#include "txdb.h"
       +#include "ui_interface.h"
       +#include "util.h"
       +#ifdef ENABLE_WALLET
       +#include "db.h"
       +#include "wallet.h"
       +#endif
       +
       +#include <boost/filesystem.hpp>
       +#include <boost/test/unit_test.hpp>
       +
       +
       +CWallet* pwalletMain;
       +
       +extern bool fPrintToConsole;
       +extern void noui_connect();
       +
       +struct TestingSetup {
       +    CCoinsViewDB *pcoinsdbview;
       +    boost::filesystem::path pathTemp;
       +    boost::thread_group threadGroup;
       +
       +    TestingSetup() {
       +        fPrintToDebugLog = false; // don't want to write to debug.log file
       +        noui_connect();
       +#ifdef ENABLE_WALLET
       +        bitdb.MakeMock();
       +#endif
       +        pathTemp = GetTempPath() / strprintf("test_bitcoin_%lu_%i", (unsigned long)GetTime(), (int)(GetRand(100000)));
       +        boost::filesystem::create_directories(pathTemp);
       +        mapArgs["-datadir"] = pathTemp.string();
       +        pblocktree = new CBlockTreeDB(1 << 20, true);
       +        pcoinsdbview = new CCoinsViewDB(1 << 23, true);
       +        pcoinsTip = new CCoinsViewCache(*pcoinsdbview);
       +        InitBlockIndex();
       +#ifdef ENABLE_WALLET
       +        bool fFirstRun;
       +        pwalletMain = new CWallet("wallet.dat");
       +        pwalletMain->LoadWallet(fFirstRun);
       +        RegisterWallet(pwalletMain);
       +#endif
       +        nScriptCheckThreads = 3;
       +        for (int i=0; i < nScriptCheckThreads-1; i++)
       +            threadGroup.create_thread(&ThreadScriptCheck);
       +        RegisterNodeSignals(GetNodeSignals());
       +    }
       +    ~TestingSetup()
       +    {
       +        threadGroup.interrupt_all();
       +        threadGroup.join_all();
       +        UnregisterNodeSignals(GetNodeSignals());
       +#ifdef ENABLE_WALLET
       +        delete pwalletMain;
       +        pwalletMain = NULL;
       +#endif
       +        delete pcoinsTip;
       +        delete pcoinsdbview;
       +        delete pblocktree;
       +#ifdef ENABLE_WALLET
       +        bitdb.Flush(true);
       +#endif
       +        boost::filesystem::remove_all(pathTemp);
       +    }
       +};
       +
       +BOOST_GLOBAL_FIXTURE(TestingSetup);
       +
       +void Shutdown(void* parg)
       +{
       +  exit(0);
       +}
       +
       +void StartShutdown()
       +{
       +  exit(0);
       +}
       +
       +bool ShutdownRequested()
       +{
       +  return false;
       +}
       +
      

      New Feathercoin Test cpp file

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

        Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*

        Creates Feathercoin-qt Unit Test Files :: commit

        https://github.com/FeatherCoin/Feathercoin/commit/039a35fda83c47b03885092bb954170f7a6447af

        src/qt/test/Makefile.am

         -bin_PROGRAMS = test_bitcoin-qt
         +bin_PROGRAMS = test_feathercoin-qt
        
         -TESTS = test_bitcoin-qt
         +TESTS = test_feathercoin-qt
        

        Code replaced

         +test_feathercoin_qt_CPPFLAGS = $(AM_CPPFLAGS) $(QT_INCLUDES) $(QT_TEST_INCLUDES)
         +test_feathercoin_qt_SOURCES = \
         +test_feathercoin_qt_SOURCES += \
        
         +nodist_test_feathercoin_qt_SOURCES = $(TEST_QT_MOC_CPP)
        
        
        
         +test_feathercoin_qt_LDADD = $(LIBBITCOINQT) $(LIBBITCOIN_SERVER)
        
         +test_feathercoin_qt_LDADD += $(LIBBITCOIN_WALLET)
        
         +test_feathercoin_qt_LDADD += $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBLEVELDB) \
        
         +test_feathercoin_qt_LDFLAGS = $(AM_LDFLAGS) $(QT_LDFLAGS)
        

        Code replaced Feathercoin interface name change

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

          Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*

          Fixed test_feathercoin build error :: commit

          https://github.com/FeatherCoin/Feathercoin/commit/301894eb369591ad7338f081b712de640d3e3aa7

          src/qt/test/Makefile.am

           -  LIBS="$LIBS $BOOST_UNIT_TEST_FRAMEWORK_LIB"
           +  LIBS="$LIBS $BOOST_LDFLAGS $BOOST_UNIT_TEST_FRAMEWORK_LIB"
          

          Code replaced

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

            Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*

            Updated README :: commit

            https://github.com/FeatherCoin/Feathercoin/commit/bdd22e917baeb5f6f3e6e533a8f21bd3ea0bf356

            src/test/README

            +unit testing framework, and since feathercoin already uses boost, it makes
            
            +The build system is setup to compile an executable called "test_feathercoin"
            
             +test_feathercoin.cpp, which simply includes other files that contain the
            

            Code replaced. Name change to Feathercoin

            Updated README :: commit

            https://github.com/FeatherCoin/Feathercoin/commit/4295097fc4a6eee56ce501471bd06a94541b01b2

            src/test/README

             +unit testing framework, and since feathercoin already uses boost, it makes
            
              +test_feathercoin.cpp, which simply includes other files that contain the
            

            Code replaced. Name change to Feathercoin

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

              Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*

              Updating from upstream :: commit

              https://github.com/FeatherCoin/Feathercoin/commit/032be41eb396751d069abf6951329d84eda90fc0

              src/test/README

               +  LIBS="$LIBS $BOOST_LDFLAGS $BOOST_UNIT_TEST_FRAMEWORK_LIB"
              

              Code replaced

              src/qt/test/Makefile.am

               +bin_PROGRAMS = test_feathercoin-qt
               +TESTS = test_feathercoin-qt
              

              Code replaced name to Feathercoin

               +test_feathercoin_qt_CPPFLAGS = $(AM_CPPFLAGS) $(QT_INCLUDES) $(QT_TEST_INCLUDES)
              
               +test_feathercoin_qt_SOURCES = \
               +test_feathercoin_qt_SOURCES += \
               +nodist_test_feathercoin_qt_SOURCES = $(TEST_QT_MOC_CPP)
              
               +test_feathercoin_qt_LDADD = $(LIBBITCOINQT) $(LIBBITCOIN_SERVER)
               +test_feathercoin_qt_LDADD += $(LIBBITCOIN_WALLET)
               +test_feathercoin_qt_LDADD += $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBLEVELDB) \
               +test_feathercoin_qt_LDFLAGS = $(AM_LDFLAGS) $(QT_LDFLAGS)
              

              Code replaced

              src/test/Makefile.am

               +bin_PROGRAMS = test_feathercoin
              
               +TESTS = test_feathercoin
              
               +# test_feathercoin binary #
               +test_feathercoin_CPPFLAGS = $(AM_CPPFLAGS) $(TESTDEFS)
               +test_feathercoin_LDADD = $(LIBBITCOIN_SERVER) $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBLEVELDB) $(LIBMEMENV) \
               +test_feathercoin_LDADD += $(LIBBITCOIN_WALLET)
               +test_feathercoin_LDADD += $(BDB_LIBS)
               +test_feathercoin_SOURCES = \
               +  test_feathercoin.cpp \
               +test_feathercoin_SOURCES += \
               +nodist_test_feathercoin_SOURCES = $(BUILT_SOURCES)
              

              Code replaced

              ** src/test/README**

                +unit testing framework, and since feathercoin already uses boost, it makes
              
               +The build system is setup to compile an executable called "test_feathercoin"
              
               +test_feathercoin.cpp, which simply includes other files that contain the
              

              Code replaced

              src/test/README.md

               +unit testing framework, and since feathercoin already uses boost, it makes
              
               +The build system is setup to compile an executable called "test_feathercoin"
              
               +test_feathercoin.cpp, which simply includes other files that contain the
              

              Code replaced

              src/test/test_feathercoin.cpp

              New file name change

               +// Copyright (c) 2011-2013 The Bitcoin Core developers
               +// Distributed under the MIT/X11 software license, see the accompanying
               +// file COPYING or http://www.opensource.org/licenses/mit-license.php.
               +
               +#define BOOST_TEST_MODULE Bitcoin Test Suite
               +
               +
               +
               +#include "main.h"
               +#include "txdb.h"
               +#include "ui_interface.h"
               +#include "util.h"
               +#ifdef ENABLE_WALLET
               +#include "db.h"
               +#include "wallet.h"
               +#endif
               +
               +#include <boost/filesystem.hpp>
               +#include <boost/test/unit_test.hpp>
               +
               +
               +CWallet* pwalletMain;
               +
               +extern bool fPrintToConsole;
               +extern void noui_connect();
               +
               +struct TestingSetup {
               +    CCoinsViewDB *pcoinsdbview;
               +    boost::filesystem::path pathTemp;
               +    boost::thread_group threadGroup;
               +
               +    TestingSetup() {
               +        fPrintToDebugLog = false; // don't want to write to debug.log file
               +        noui_connect();
               +#ifdef ENABLE_WALLET
               +        bitdb.MakeMock();
               +#endif
               +        pathTemp = GetTempPath() / strprintf("test_bitcoin_%lu_%i", (unsigned long)GetTime(), (int)(GetRand(100000)));
               +        boost::filesystem::create_directories(pathTemp);
               +        mapArgs["-datadir"] = pathTemp.string();
               +        pblocktree = new CBlockTreeDB(1 << 20, true);
               +        pcoinsdbview = new CCoinsViewDB(1 << 23, true);
               +        pcoinsTip = new CCoinsViewCache(*pcoinsdbview);
               +        InitBlockIndex();
               +#ifdef ENABLE_WALLET
               +        bool fFirstRun;
               +        pwalletMain = new CWallet("wallet.dat");
               +        pwalletMain->LoadWallet(fFirstRun);
               +        RegisterWallet(pwalletMain);
               +#endif
               +        nScriptCheckThreads = 3;
               +        for (int i=0; i < nScriptCheckThreads-1; i++)
               +            threadGroup.create_thread(&ThreadScriptCheck);
               +        RegisterNodeSignals(GetNodeSignals());
               +    }
               +    ~TestingSetup()
               +    {
               +        threadGroup.interrupt_all();
               +        threadGroup.join_all();
               +        UnregisterNodeSignals(GetNodeSignals());
               +#ifdef ENABLE_WALLET
               +        delete pwalletMain;
               +        pwalletMain = NULL;
               +#endif
               +        delete pcoinsTip;
               +        delete pcoinsdbview;
               +        delete pblocktree;
               +#ifdef ENABLE_WALLET
               +        bitdb.Flush(true);
               +#endif
               +        boost::filesystem::remove_all(pathTemp);
               +    }
               +};
               +
               +BOOST_GLOBAL_FIXTURE(TestingSetup);
               +
               +void Shutdown(void* parg)
               +{
               +  exit(0);
               +}
               +
               +void StartShutdown()
               +{
               +  exit(0);
               +}
               +
               +bool ShutdownRequested()
               +{
               +  return false;
               +}
               +
              

              New file for Feathercoin Test

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

                Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*

                Fixed issue #160 :: commit

                This was seen on the Windows x64 version. I’m currently unable to check MAC or Linux GUI.

                On the MultiSig page, I think the ‘b’ in ‘Total balance’ should be a capital ‘B’. Also there should be a space after the ‘:’ and before the ‘0.00’. Same for Addresses:0.

                It should read “Total Balance: 0.00 FTC Addresses: 0”

                https://github.com/FeatherCoin/Feathercoin/commit/3d35337dc5d047853890773c15e69a1c752097bc

                src/qt/forms/multisigdialog.ui

                -             <string>Total balance:</string>
                +             <string>Total Balance:</string>
                

                Code replaced … review fix made in translations?

                small adjustments :: commit

                https://github.com/FeatherCoin/Feathercoin/commit/b367fd1431e9c01172d4a44b19086526427e7913

                src/qt/forms/multisigdialog.ui

                  -             <string>Total Balance:</string>
                 +             <string>Total Balance:  </string>
                
                 -          <item>
                 +          <item alignment="Qt::AlignHCenter|Qt::AlignVCenter">
                

                Code replaced

                 +            <property name="margin">
                 +             <number>0</number>
                 +            </property>
                 +            <property name="indent">
                 +             <number>-1</number>
                 +            </property>
                

                Code added

                 +          <item alignment="Qt::AlignVCenter">
                
                 +             <string>    Addresses:  </string>
                 +            </property>
                 +            <property name="indent">
                 +             <number>-1</number>
                
                 +          <item alignment="Qt::AlignVCenter">
                
                 +            <property name="indent">
                 +             <number>-1</number>
                 +            </property>
                

                Code updated replaced

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

                  Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*

                  Added test binraries to ignore file :: commit

                  https://github.com/FeatherCoin/Feathercoin/commit/37b2b3cba72fe5e5dd919c3b5b1aee759873eb12

                  .gitignore

                    +src/qt/test/test_feathercoin-qt
                   +src/test/test_feathercoin
                  

                  Code added

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

                    Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*

                    Added new hardcoded checkpoint :: commit

                    https://github.com/FeatherCoin/Feathercoin/commit/bc48012456bc95275747e4561ba9b5a50a2f24a9

                    src/checkpoints.cpp

                     +                        (   1776411, uint256("0x4f6de194bd2f4580e2ac9337289c7cca348d3f35c9079af2760b288315b82feb"))
                    

                    Code added

                     -        1457105972, // * UNIX timestamp of last checkpoint block
                     -        3361886,    // * total number of transactions between genesis and last checkpoint
                     -                    //   (the tx=... number in the SetBestChain debug.log lines)
                     -        2150.0     // * estimated number of transactions per day after checkpoint
                    
                    
                    
                     +        1498636263, // * UNIX timestamp of last checkpoint block
                     +        3660284,    // * total number of transactions between genesis and last checkpoint
                     +                    //   (the tx=... number in the SetBestChain or Updatetip debug.log lines)
                     +        1500.0     // * estimated number of transactions per day after checkpoint
                    

                    Code replaced

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

                      Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*

                      Added release notes for 0.9.6.1 :: commit

                      https://github.com/FeatherCoin/Feathercoin/commit/b42a02cac3db219d97e0f2c427023b472787c97a

                      doc/release-notes/release-notes-0.9.6.1.md

                       +Feathercoin Core version 0.9.0 is now available from:
                       +
                       +  https://feathercoin.org/bin/0.9.0/
                       +
                       +This is a new minor version release, bringing bug fixes.
                       +
                       +Please report bugs using the issue tracker at github:
                       +
                       +  https://github.com/FeatherCoin/Feathercoin/issues
                       +
                       +How to Upgrade
                       +--------------
                       +
                       +If you are running an older version, shut it down. Wait until it has completely
                       +shut down (which might take a few minutes for older versions), uninstall all
                       +earlier versions of Feathercoin, then run the installer (on Windows/Linux/Mac) or just copy
                       +over /Applications/Feathercoin-Qt (on Mac) or feathercoind/feathercoin-qt (on Linux).
                       +
                       +If you are upgrading from version 0.8.x or earlier, the first time you run
                       +0.9.6.1 your blockchain files will be re-indexed, which will take anywhere from 
                       +30 minutes to several hours, depending on the speed of your machine.
                       +
                       +On Windows, do not forget to uninstall all earlier versions of the Feathercoin
                       +client first, especially if you are switching to the 64-bit version.
                       +
                       +Windows
                       +-------
                       +0.9.6.1 Windows binaries are not code-signed; use PGP
                       +and the SHA256SUMS.asc file to make sure your binaries are correct.
                       +
                       +
                       +OSX 10.5 / 32-bit no longer supported
                       +-------------------------------------
                       +
                       +0.9.x drops support for older Macs. The minimum requirements are now:
                       +* A 64-bit-capable CPU (see http://support.apple.com/kb/ht3696);
                       +* Mac OS 10.6 or later (see https://support.apple.com/kb/ht1633).
                       +
                       +Downgrading warnings
                       +--------------------
                       +
                       +The 'chainstate' for this release is not always compatible with previous
                       +releases, so if you run 0.9 and then decide to switch back to a
                       +0.8.x release you might get a blockchain validation error when starting the
                       +old release (due to 'pruned outputs' being omitted from the index of
                       +unspent transaction outputs).
                       +
                       +Running the old release with the -reindex option will rebuild the chainstate
                       +data structures and correct the problem.
                       +
                       +Also, the first time you run a 0.8.x release on a 0.9 wallet it will rescan
                       +the blockchain for missing spent coins, which will take a long time (tens
                       +of minutes on a typical machine).
                       +
                       +
                       +
                       +
                       +Autotools build system
                       +-----------------------
                       +
                       +For 0.9.0 we switched to an autotools-based build system instead of individual
                       +(q)makefiles.
                       +
                       +Using the standard "./autogen.sh; ./configure; make" to build Feathercoin-Qt and
                       +feathercoind makes it easier for experienced open source developers to contribute 
                       +to the project.
                       +
                       +Be sure to check doc/build-*.md for your platform before building from source.
                       +
                       +Feathercoin-cli
                       +-------------
                       +
                       +Another change in the 0.9 release is moving away from the feathercoind executable
                       +functioning both as a server and as a RPC client. The RPC client functionality
                       +("tell the running feathercoin daemon to do THIS") was split into a separate
                       +executable, 'feathercoin-cli'. The RPC client code will eventually be removed from
                       +feathercoind, but will be kept for backwards compatibility for a release or two.
                       +
                       +Bux Fixes:
                       +----------
                       +
                       +- When a 0.11.x node connects, the connection will be with 'invalid pchMessageStart in 0.9.6
                       +and earlier versions. (Github Issue #171)
                       +This has been fixed by implementing pchMessageStartNew constant to allow future 0.11.x nodes to connect.
                       +
                       +- The configuration parameter 'enfoce checkpoint was not handled correctly in 0.9.6, when set. 
                       +(Github issues #169,#170)
                       +
                       +- A formating error on the Multisig GUI page was fixed (Github issue #160)
                       +
                       +- Log messages get id numbers (Github issue #157)
                       +
                       +- Test section was updated ( Github issues #120 - #127)
                       +
                      

                      Notes added

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

                        Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*

                        Changed required boost version from 1.58 to 1.54 Debian only has 1.55 :: commit

                        https://github.com/FeatherCoin/Feathercoin/commit/414e8733cb0428b69971538277e45025d8c2af87

                        m4/ax_boost_base.m4

                         -    boost_lib_version_req=ifelse([$1], ,1.58.0,$1)
                        +    boost_lib_version_req=ifelse([$1], ,1.54.0,$1)
                        

                        Code replaced

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

                          Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*

                          Moved m4 directory to src/m4 for travis compatibility :: commit

                          https://github.com/FeatherCoin/Feathercoin/commit/4805854a469a89522ae34ed66d760f8cced0766b

                          aclocal.m4

                           +[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
                           +# Expand $ac_aux_dir to an absolute path.
                           +am_aux_dir=`cd "$ac_aux_dir" && pwd`
                          

                          Code replaced

                          m4/ax_boost_base.m4

                          File moved / deleted ~300 lines

                          m4/bitcoin_subdir_to_include.m4

                          File moved /deleted ~14 lines

                          src/m4/ax_boost_base.m4

                           -    boost_lib_version_req=ifelse([$1], ,1.58.0,$1)
                          +    boost_lib_version_req=ifelse([$1], ,1.54.0,$1)
                          

                          Code replaced

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