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

    [Dev] Documenting Feathercoin Specific Software settings - Part 18

    Technical Development
    1
    53
    8537
    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 wrapper

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

      Implementation of new ACP checkpoint :: commit

      implementation of new ACP checkpoint, initial commit

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

      src/checkpoints.cpp

       +			(   1593400, uint256("0xe97230c788e7240eb325576810fee62f5162905f63a832f15928b88ac6a938c6"))
      

      Code added

       -        1372166807, // * UNIX timestamp of last checkpoint block
       +        1457105972, // * UNIX timestamp of last checkpoint block
       -        257285,    // * total number of transactions between genesis and last checkpoint
       +        3361886,    // * total number of transactions between genesis and last checkpoint
      
                       //   (the tx=... number in the SetBestChain debug.log lines)
       -        3450.0     // * estimated number of transactions per day after checkpoint
       +        2150.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.*

        Implementation of new ACP checkpoint :: commit

        implementation of new ACP checkpoint, initial commit

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

        src/checkpointsync.cpp

          //sync-checkpoint master key
          -const std::string CSyncCheckpoint::strMainPubKey = "04b9ff17f2865bc685456429defb94fcb1ffc44a98703f0d62513fa47e7b76e4c6ab10b59e2c068d45f6a04b47bcee8b0fa50b33bfa53ff279a02863dbf1da6128";
        
         +//const std::string CSyncCheckpoint::strMainPubKey = "04b9ff17f2865bc685456429defb94fcb1ffc44a98703f0d62513fa47e7b76e4c6ab10b59e2c068d45f6a04b47bcee8b0fa50b33bfa53ff279a02863dbf1da6128";
         +const std::string CSyncCheckpoint::strMainPubKey = "04810a50a45c847e2b3741cf4db2b678bc98e7a67d9218594fbf2d17cab5e2787b07ea56b3ba527d80a9b203623c637d2257cc849cd0f6710839dfcf34a930b4b0";
        

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

          Implementation of new ACP checkpoint :: commit

          implementation of new ACP checkpoint, initial commit

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

          src/main.cpp

           +        /* Reset checkpoint to last hardened checkpoint
           +	   after block 1576929, which has an invalid checkpoint due to 0.9.3.2 failing ACP */
           +	if (nHeight == 1576940)
           +	  ResetSyncCheckpoint();
          

          Code added

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

            Implementation of new ACP checkpoint :: commit

            implementation of new ACP checkpoint, initial commit

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

            src/rpcserver.cpp

             -    { "getcheckpoint",          &getcheckpoint,          true,      false,      true },
             +    { "getcheckpoint",          &getcheckpoint,          true,      false,      false },
            
             -    { "sendcheckpoint",         &sendcheckpoint,         true,      false,      true },
             +    { "sendcheckpoint",         &sendcheckpoint,         true,      false,      false },
            
             -    { "enforcecheckpoint",      &enforcecheckpoint,      true,      false,      true },
             +    { "enforcecheckpoint",      &enforcecheckpoint,      true,      false,      false },
            
             -    { "makekeypair",     				&makekeypair,      			 true,      false,      true },
             +    { "makekeypair",     	&makekeypair,      	 true,      false,      false },
            

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

              Implemented new ACP keypair :: commit

              Implemented new ACP keypair to reset checkpoints to

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

              src/init.cpp

               +                uiInterface.InitMessage(_("Checking ACP ..."));
               +                if (!CheckCheckpointPubKey()) {
               +                    strLoadError = _("Checking ACP pubkey failed");
               +                    break;
               +                }
              

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

                Implemented new ACP keypair :: commit

                Implemented new ACP keypair to reset checkpoints to

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

                src/main.cpp

                 -        /* Reset checkpoint to last hardened checkpoint
                 -	   after block 1576929, which has an invalid checkpoint due to 0.9.3.2 failing ACP */
                 -	if (nHeight == 1576940)
                 -	  ResetSyncCheckpoint();
                

                Code removed

                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 Issue #169 :: commit

                  When the client is configured to checkpointenforce=0 it crashes at startup.

                  https://github.com/FeatherCoin/Feathercoin/commit/1fe607b3382a0fc7521dbafa089bc66eef7c803a

                  src/main.cpp

                    -    	if (pindexBest->pprev && !CheckSyncCheckpoint(pindexBest->GetBlockHash(), pindexBest->pprev))
                   +    	if (pindexNew->pprev && !CheckSyncCheckpoint(pindexNew->GetBlockHash(), pindexNew->pprev))
                  

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

                    Increased protocol version to 70005 :: commit

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

                    src/version.h

                     -static const int PROTOCOL_VERSION = 70004;
                     +static const int PROTOCOL_VERSION = 70005;
                    

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

                      Fixed issue #171 :: commit

                      0.11.2 has a compatibility feature to accept the ‘old’ and the ‘new’ pchmessagestart, so that 0.9.x nodes can successfully connect to a 0.11.x node.
                      When establishing outgoing connections 0.11.x uses the new pchMessageStart strin only, which is rejected by the 0.9.x nodes

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

                      src/chainparams.cpp

                       +        pchMessageStartNew[0] = 0xfe;
                       +        pchMessageStartNew[1] = 0x46;
                       +        pchMessageStartNew[2] = 0x54;
                       +        pchMessageStartNew[3] = 0x43;
                      

                      Code added

                       +	  pchMessageStartNew[0] = 0xaa;
                       +        pchMessageStartNew[1] = 0xbb;
                       +        pchMessageStartNew[2] = 0xcc;
                       +        pchMessageStartNew[3] = 0xdd;
                      

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

                        Fixed issue #171 :: commit

                        The non official release 0.11.2 has a compatibility feature to accept the ‘old’ and the ‘new’ pchmessagestart, so that 0.9.x nodes can successfully connect to a 0.11.x node.
                        When establishing outgoing connections 0.11.x uses the new pchMessageStart strin only, which is rejected by the 0.9.x nodes

                        https://github.com/FeatherCoin/Feathercoin/commit/19f116dec8a1bf1156d03f85aad36e4900318821

                        src/chainparams.h

                         +    const MessageStartChars& MessageStartNew() const { return pchMessageStartNew; }
                        

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

                          Fixed issue #171 :: commit

                          The non official release 0.11.2 has a compatibility feature to accept the ‘old’ and the ‘new’ pchmessagestart, so that 0.9.x nodes can successfully connect to a 0.11.x node.
                          When establishing outgoing connections 0.11.x uses the new pchMessageStart strin only, which is rejected by the 0.9.x nodes

                          https://github.com/FeatherCoin/Feathercoin/commit/19f116dec8a1bf1156d03f85aad36e4900318821

                          src/main.cpp

                           -        if (memcmp(msg.hdr.pchMessageStart, Params().MessageStart(), MESSAGE_START_SIZE) != 0) {
                           -            LogPrintf("\n\nPROCESSMESSAGE: INVALID MESSAGESTART\n\n");
                           -            fOk = false;
                           -            break;
                           -        }
                          

                          Code removed

                            +	/* Message start detector */
                          
                           +	 if ((memcmp(msg.hdr.pchMessageStart, Params().MessageStart(), MESSAGE_START_SIZE) != 0) && (memcmp(msg.hdr.pchMessageStart, Params().MessageStartNew(), MESSAGE_START_SIZE) != 0)) {
                           +
                           +	   	LogPrintf("\n\nPROCESSMESSAGE: INVALID MESSAGESTART\n\n");
                           +		fOk = false;
                           +		break;
                           +	   }
                          

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

                            Updated ACP key pair :: commit

                            https://github.com/FeatherCoin/Feathercoin/commit/9f3b0fe4daed6490565b1f918415b03243ce2932

                            src/checkpointsync.cpp

                             //sync-checkpoint master key
                             +// for Version <= 0.9.6
                            

                            Code added

                             -const std::string CSyncCheckpoint::strMainPubKey = "04810a50a45c847e2b3741cf4db2b678bc98e7a67d9218594fbf2d17cab5e2787b07ea56b3ba527d80a9b203623c637d2257cc849cd0f6710839dfcf34a930b4b0";
                            
                              +// fro Version <= 0.9.6.1
                              +const std::string CSyncCheckpoint::strMainPubKey = "04c67c0114bc7cb8bb84ee0f3319e1df3339d335a15bdb04605cf2655d19212848a66d4535f3c91e943061474b7cacfd4eaa10835d35a8d4e431c68a4c4f5450ba";
                            

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

                              Fixed issue # 170 :: commit

                              [ 0.9.6 ] enforcecheckpoint config file parameter is reversed #170

                              When the parameter ‘enfocecheckpoint=0’ is defined checkpoints are enforced and if ‘enforcecheckpoint=1’ is defined ACP is running in advisory mode

                              https://github.com/FeatherCoin/Feathercoin/commit/922e3601f9366e443709164598d7d032892d6aeb

                              src/main.cpp

                                -        // checkpoint advisory mode
                               +        // if not in checkpoint advisory mode
                               -        if (!IsSyncCheckpointEnforced() && !CheckSyncCheckpoint(hash, pindexPrev))
                               +        if (IsSyncCheckpointEnforced() && !CheckSyncCheckpoint(hash, pindexPrev))
                              

                              Code 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 depends folder from bitcoin’s tree to build all dependencies. :: commit

                                Auto build

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

                                .gitignore

                                 +src/**Makefile
                                 +/src/test/Makefile
                                 +/src/qt/test/Makefile
                                 +/src/qt/Makefile
                                 +/src/Makefile
                                 +/src/config/stamp-h1
                                 +/src/config/bitcoin-config.h.in
                                 +/src/config/bitcoin-config.h
                                 +/Makefile
                                 +/libtool
                                

                                Code updated / tidied

                                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 depends folder from bitcoin’s tree to build all dependencies. :: commit

                                  Auto build

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

                                  depends/.gitignore

                                   +SDKs/
                                   +work/
                                   +built/
                                   +sources/
                                   +config.site
                                   +x86_64*
                                   +i686*
                                   +mips*
                                   +arm*
                                   +aarch64*
                                  

                                  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 depends folder from bitcoin’s tree to build all dependencies. :: commit

                                    Auto build

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

                                    depends/Makefile

                                     +.NOTPARALLEL :
                                     +
                                     +SOURCES_PATH ?= $(BASEDIR)/sources
                                     +BASE_CACHE ?= $(BASEDIR)/built
                                     +SDK_PATH ?= $(BASEDIR)/SDKs
                                     +NO_QT ?=
                                     +NO_WALLET ?=
                                     +NO_UPNP ?=
                                     +FALLBACK_DOWNLOAD_PATH ?= https://bitcoincore.org/depends-sources
                                     +
                                     +BUILD = $(shell ./config.guess)
                                     +HOST ?= $(BUILD)
                                     +PATCHES_PATH = $(BASEDIR)/patches
                                     +BASEDIR = $(CURDIR)
                                     +HASH_LENGTH:=11
                                     +DOWNLOAD_CONNECT_TIMEOUT:=10
                                     +DOWNLOAD_RETRIES:=3
                                     +HOST_ID_SALT ?= salt
                                     +BUILD_ID_SALT ?= salt
                                     +
                                     +host:=$(BUILD)
                                     +ifneq ($(HOST),)
                                     +host:=$(HOST)
                                     +host_toolchain:=$(HOST)-
                                     +endif
                                     +
                                     +ifneq ($(DEBUG),)
                                     +release_type=debug
                                     +else
                                     +release_type=release
                                     +endif
                                     +
                                    

                                    Example code from makefile, review compile 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.*

                                      Added depends folder from bitcoin’s tree to build all dependencies. :: commit

                                      Auto build

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

                                      depends/README.md

                                       +### Usage
                                       +
                                       +To build dependencies for the current arch+OS:
                                       +
                                       +    make
                                       +
                                       +To build for another arch/OS:
                                       +
                                       +    make HOST=host-platform-triplet
                                       +
                                       +For example:
                                       +
                                       +    make HOST=x86_64-w64-mingw32 -j4
                                       +
                                       +A prefix will be generated that's suitable for plugging into Bitcoin's
                                       +configure. In the above example, a dir named x86_64-w64-mingw32 will be
                                       +created. To use it for Bitcoin:
                                       +
                                       +    ./configure --prefix=`pwd`/depends/x86_64-w64-mingw32
                                       +
                                       +Common `host-platform-triplets` for cross compilation are:
                                       +
                                       +- `i686-w64-mingw32` for Win32
                                       +- `x86_64-w64-mingw32` for Win64
                                       +- `x86_64-apple-darwin11` for MacOSX
                                       +- `arm-linux-gnueabihf` for Linux ARM 32 bit
                                       +- `aarch64-linux-gnu` for Linux ARM 64 bit
                                       +
                                       +No other options are needed, the paths are automatically configured.
                                       +
                                       +Dependency Options:
                                       +The following can be set when running make: make FOO=bar
                                       +
                                       +    SOURCES_PATH: downloaded sources will be placed here
                                       +    BASE_CACHE: built packages will be placed here
                                       +    SDK_PATH: Path where sdk's can be found (used by OSX)
                                       +    FALLBACK_DOWNLOAD_PATH: If a source file can't be fetched, try here before giving up
                                       +    NO_QT: Don't download/build/cache qt and its dependencies
                                       +    NO_WALLET: Don't download/build/cache libs needed to enable the wallet
                                       +    NO_UPNP: Don't download/build/cache packages needed for enabling upnp
                                       +    DEBUG: disable some optimizations and enable more runtime checking
                                       +    HOST_ID_SALT: Optional salt to use when generating host package ids
                                       +    BUILD_ID_SALT: Optional salt to use when generating build package ids
                                       +
                                       +If some packages are not built, for example `make NO_WALLET=1`, the appropriate
                                       +options will be passed to bitcoin's configure. In this case, `--disable-wallet`.
                                       +
                                       +Additional targets:
                                       +
                                       +    download: run 'make download' to fetch all sources without building them
                                       +    download-osx: run 'make download-osx' to fetch all sources needed for osx builds
                                       +    download-win: run 'make download-win' to fetch all sources needed for win builds
                                       +    download-linux: run 'make download-linux' to fetch all sources needed for linux builds
                                       +
                                       +### Other documentation
                                       +
                                       +- [description.md](description.md): General description of the depends system
                                       +- [packages.md](packages.md): Steps for adding packages
                                       +
                                      

                                      New file 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 depends folder from bitcoin’s tree to build all dependencies. :: commit

                                        Auto build

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

                                        depends/builders/darwin.mk

                                         +build_darwin_CC: = $(shell xcrun -f clang)
                                         +build_darwin_CXX: = $(shell xcrun -f clang++)
                                         +build_darwin_AR: = $(shell xcrun -f ar)
                                         +build_darwin_RANLIB: = $(shell xcrun -f ranlib)
                                         +build_darwin_STRIP: = $(shell xcrun -f strip)
                                         +build_darwin_OTOOL: = $(shell xcrun -f otool)
                                         +build_darwin_NM: = $(shell xcrun -f nm)
                                         +build_darwin_INSTALL_NAME_TOOL:=$(shell xcrun -f install_name_tool)
                                         +build_darwin_SHA256SUM = shasum -a 256
                                         +build_darwin_DOWNLOAD = curl --location --fail --connect-timeout $(DOWNLOAD_CONNECT_TIMEOUT) --retry $(DOWNLOAD_RETRIES) -o
                                         +
                                         +#darwin host on darwin builder. overrides darwin host preferences.
                                         +darwin_CC=$(shell xcrun -f clang) -mmacosx-version-min=$(OSX_MIN_VERSION)
                                         +darwin_CXX:=$(shell xcrun -f clang++) -mmacosx-version-min=$(OSX_MIN_VERSION) -stdlib=libc++
                                         +darwin_AR:=$(shell xcrun -f ar)
                                         +darwin_RANLIB:=$(shell xcrun -f ranlib)
                                         +darwin_STRIP:=$(shell xcrun -f strip)
                                         +darwin_LIBTOOL:=$(shell xcrun -f libtool)
                                         +darwin_OTOOL:=$(shell xcrun -f otool)
                                         +darwin_NM:=$(shell xcrun -f nm)
                                         +darwin_INSTALL_NAME_TOOL:=$(shell xcrun -f install_name_tool)
                                         +darwin_native_toolchain=
                                        

                                        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 depends folder from bitcoin’s tree to build all dependencies. :: commit

                                          Auto build

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

                                          depends/builders/default.mk

                                           +default_build_CC = gcc
                                           +default_build_CXX = g++
                                           +default_build_AR = ar
                                           +default_build_RANLIB = ranlib
                                           +default_build_STRIP = strip
                                           +default_build_NM = nm
                                           +default_build_OTOOL = otool
                                           +default_build_INSTALL_NAME_TOOL = install_name_tool
                                           +
                                           +define add_build_tool_func
                                           +build_$(build_os)_$1 ?= $$(default_build_$1)
                                           +build_$(build_arch)_$(build_os)_$1 ?= $$(build_$(build_os)_$1)
                                           +build_$1=$$(build_$(build_arch)_$(build_os)_$1)
                                           +endef
                                           +$(foreach var,CC CXX AR RANLIB NM STRIP SHA256SUM DOWNLOAD OTOOL INSTALL_NAME_TOOL,$(eval $(call add_build_tool_func,$(var))))
                                           +define add_build_flags_func
                                           +build_$(build_arch)_$(build_os)_$1 += $(build_$(build_os)_$1)
                                           +build_$1=$$(build_$(build_arch)_$(build_os)_$1)
                                           +endef
                                           +$(foreach flags, CFLAGS CXXFLAGS LDFLAGS, $(eval $(call add_build_flags_func,$(flags))))
                                          

                                          New file code added

                                          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 depends folder from bitcoin’s tree to build all dependencies. :: commit

                                            Auto build

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

                                            depends/builders/linux.mk

                                            New file

                                             +build_linux_SHA256SUM = sha256sum
                                             +build_linux_DOWNLOAD = curl --location --fail --connect-timeout $(DOWNLOAD_CONNECT_TIMEOUT) --retry $(DOWNLOAD_RETRIES) -o
                                            

                                            Code added

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