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

    [Dev] Documenting Feathercoin Specific Software settings - Part 20

    Technical Development
    1
    12
    3960
    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/Makefile.am

       -bin_PROGRAMS = test_bitcoin
      +bin_PROGRAMS = test_feathercoin
      

      Interface name change to Feathercoin

       +# test_feathercoin binary #
       +test_feathercoin_CPPFLAGS = $(AM_CPPFLAGS) $(TESTDEFS)
       +test_feathercoin_LDADD = $(LIBBITCOIN_SERVER) $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBLEVELDB) $(LIBMEMENV) \
      

      Interface name change to Feathercoin

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

      Interface 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.*

        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