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

    [Dev] Documenting Feathercoin Specific Software settings - Part 2

    Technical Development
    1
    40
    9691
    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.*

      Add Implemented ACP and neoscrypt commit
      https://github.com/FeatherCoin/Feathercoin/commit/c8ca4c906144910c62acd34e23a4ed624c0fbf7d

      src/main.h

      ACP and neoscrypt commit. 2nd commit

       +#include "neoscrypt.h"
      
       + /* Maturity threshold for PoW base transactions, in blocks (confirmations) */
       + extern int nBaseMaturity;
       + static const int BASE_MATURITY = 100;
       + 
      

      Additional code

       + // The 1st hard fork
       + const int nForkOne = 33000;
       + // The 2nd hard fork
       + const int nForkTwo = 87948;
       + // The 3rd hard fork
       + const int nForkThree = 204639;
       + // The 4th hard fork
       + const int nForkFour = 432000;
       + 
       + static const int nTestnetFork   =  600;
       + 
       + static const unsigned int nSwitchV2            = 1413936000; // Wed, 22 Oct 2014 00:00:00 GMT
       + static const unsigned int nTestnetSwitchV2     = 1406473140; // Sun, 27 Jul 2014 14:59:00 GMT
       + 
       + 
      

      Additional code

       + extern int nBestHeight;
       + extern uint256 nBestChainWork;
       + extern uint256 nBestInvalidWork;
       + extern uint256 hashBestChain;
       + extern CBlockIndex* pindexBest;
       + extern unsigned int nTransactionsUpdated;
      
       +extern std::map<uint256, CBlock*> mapOrphanBlocksA;  //for checkpointsync.cpp
      

      Additional code

        +/** Connect/disconnect blocks until pindexNew is the new tip of the active block chain */
       +bool SetBestChain(CValidationState &state, CBlockIndex* pindexNew);
      

      Additional code

       +    // (memory only) pointer to the index of the *active* successor of this block
       +    CBlockIndex* pnext;
       +
      

      Additional code

       +        pnext = NULL;
      
       +        pnext = NULL;
      
       +     
       +     bool IsInMainChain() const
       +     {
       +         return (pnext || this == pindexBest);
       +     }
      

      Additional code

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

        Add Implemented ACP and neoscrypt commit
        https://github.com/FeatherCoin/Feathercoin/commit/c8ca4c906144910c62acd34e23a4ed624c0fbf7d

        src/miner.cpp

        ACP and neoscrypt commit.

         + unsigned int profile = fNeoScrypt ? 0x0 : 0x3;
        

        Additional code

           -    char scratchpad[SCRYPT_SCRATCHPAD_SIZE];
        

        Bitcoin code removed

          -                scrypt_1024_1_1_256_sp(BEGIN(pblock->nVersion), BEGIN(thash), scratchpad);
        

        Bitcoin code replaced

         +                //scrypt_1024_1_1_256_sp(BEGIN(pblock->nVersion), BEGIN(thash), scratchpad);
         +                neoscrypt((unsigned char *) &pblock->nVersion, (unsigned char *) &hash, profile);
        

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

          Add Implemented ACP and neoscrypt commit
          https://github.com/FeatherCoin/Feathercoin/commit/c8ca4c906144910c62acd34e23a4ed624c0fbf7d

          src/neoscrypt.c

          ACP and neoscrypt commit. Large New file

           /*
           * Copyright (c) 2009 Colin Percival, 2011 ArtForz
           * Copyright (c) 2012 Andrew Moon (floodyberry)
           * Copyright (c) 2012 Samuel Neves <[email protected]>
           * Copyright (c) 2014 John Doering <[email protected]>
           * All rights reserved.
          
           #include <stdlib.h>
           #include <stdint.h>
           #include <string.h>
          
           #include "neoscrypt.h"
          

          Start of neoscrypt code

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

            Add Implemented ACP and neoscrypt commit
            https://github.com/FeatherCoin/Feathercoin/commit/c8ca4c906144910c62acd34e23a4ed624c0fbf7d

            src/neoscrypt.h

            ACP and neoscrypt commit. Large New file

             + #if (__cplusplus)
             + extern "C" {
             + #endif
             + 
             + void neoscrypt(const unsigned char *input, unsigned char *output, unsigned int profile);
             + 
             + #if (__cplusplus)
             + }
             + #else
             + 
             + #define SCRYPT_BLOCK_SIZE 64
             + #define SCRYPT_HASH_BLOCK_SIZE 64
             + #define SCRYPT_HASH_DIGEST_SIZE 32
             + 
             + typedef uint8_t hash_digest[SCRYPT_HASH_DIGEST_SIZE];
            

            Start of new code.

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

              Add Implemented ACP and neoscrypt commit
              https://github.com/FeatherCoin/Feathercoin/commit/c8ca4c906144910c62acd34e23a4ed624c0fbf7d

              src/neoscrypt_asm.S

              ACP and neoscrypt commit. Large New file

                #if (ASM) && (__x86_64__)
              
               /* neoscrypt_blkcpy(dst, src, len) = SSE2 based block memcpy();
                * len must be a multiple of 64 bytes aligned properly */
               .globl neoscrypt_blkcpy
               neoscrypt_blkcpy:
               #if (WIN64)
                  movq	%rdi, %r10
                 movq	%rsi, %r11
                 movq	%rcx, %rdi
                    movq	%rdx, %rsi
                    movq	%r8, %rdx
               #endif
              

              Start of code full file. 735 lines

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

                Add Implemented ACP and neoscrypt commit
                https://github.com/FeatherCoin/Feathercoin/commit/c8ca4c906144910c62acd34e23a4ed624c0fbf7d

                src/net.cpp

                ACP and neoscrypt commit.

                 + void CNode::PushGetBlocks(CBlockIndex* pindexBegin, uint256 hashEnd)
                 + { 
                 +     // main.h:PushGetBlocks(CNode* pnode, CBlockIndex* pindexBegin, uint256 hashEnd);
                 +     // Filter out duplicate requests
                 +     /*if (pindexBegin == pindexLastGetBlocksBegin && hashEnd == hashLastGetBlocksEnd)
                 +         return;
                 +     pindexLastGetBlocksBegin = pindexBegin;
                 +     hashLastGetBlocksEnd = hashEnd;
                 + 		
                 +     PushMessage("getblocks", CBlockLocator(pindexBegin), hashEnd);*/ //'CBlockIndex*' to 'const CBlockLocator&' 
                 + }
                 + 
                

                pindex code addition

                 +    for (int nHost = 1; nHost <= 2; nHost++)
                

                Bitcoin Code replaced (seen this before?)

                 +         else if (nHost == 2)
                 +         {
                 +             addrConnect = CService("74.208.43.192", 80); // www.showmyip.com
                 + 
                 +             if (nLookup == 1)
                 +             {
                 +                 CService addrIP("www.showmyip.com", 80, true);
                 +                 if (addrIP.IsValid())
                 +                     addrConnect = addrIP;
                 +             }
                 + 
                 +             pszGet = "GET /simple/ HTTP/1.1\r\n"
                 +                      "Host: www.showmyip.com\r\n"
                 +                      "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)\r\n"
                 +                      "Connection: close\r\n"
                 +                      "\r\n";
                 + 
                 +             pszKeyword = NULL; // Returns just IP address
                 +         }
                

                Needs review. ACP site?

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

                  Add Implemented ACP and neoscrypt commit
                  https://github.com/FeatherCoin/Feathercoin/commit/c8ca4c906144910c62acd34e23a4ed624c0fbf7d

                  src/net.h

                  ACP and neoscrypt commit.

                  + /** The maximum number of entries in mapAskFor */
                  + static const size_t MAPASKFOR_MAX_SZ = MAX_INV_SZ;
                  

                  Additional code

                   + struct LocalServiceInfo {
                   +     int nScore;
                   +     int nPort;
                   + };
                   + 
                   + extern CCriticalSection cs_mapLocalHost;
                   + extern map<CNetAddr, LocalServiceInfo> mapLocalHost;
                  

                  Additional code

                   -    std::set<CAddress> setAddrKnown;
                   +    mruset<CAddress> setAddrKnown;
                  

                  Bitcoin code replaced

                   +    uint256 hashCheckpointKnown; //ppcoin: known sent sync-checkpoint
                  

                  Additional checkpoint code

                    -    CNode(SOCKET hSocketIn, CAddress addrIn, std::string addrNameIn = "", bool fInboundIn=false) : ssSend(SER_NETWORK, INIT_PROTO_VERSION)
                    +    CNode(SOCKET hSocketIn, CAddress addrIn, std::string addrNameIn = "", bool fInboundIn=false) : ssSend(SER_NETWORK, INIT_PROTO_VERSION), setAddrKnown(5000)
                  

                  Bitcoin code replaced

                   +    if (mapAskFor.size() > MAPASKFOR_MAX_SZ)
                   +        return;
                  +
                  
                   +		
                   +	  void PushGetBlocks(CBlockIndex* pindexBegin, uint256 hashEnd);
                  

                  Additional code

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

                    Add Implemented ACP and neoscrypt commit
                    https://github.com/FeatherCoin/Feathercoin/commit/c8ca4c906144910c62acd34e23a4ed624c0fbf7d

                    src/qt/Makefile.am

                    ACP and neoscrypt commit.

                     +  forms/transactiondescdialog.ui \
                     +  forms/merchantlist.ui
                    

                    BBitcoin code replaced, new line.

                     +  moc_walletview.cpp \
                     +  moc_reportview.cpp \
                     +  moc_merchantlist.cpp
                    

                    Directory positioning changed? Additional code

                     +  merchantlist.moc \
                    

                    Additional code

                     +  winshutdownmonitor.h \
                     +  reportview.h \
                     +  merchantlist.h
                    

                    Directory positioning changed? Additional code

                     +   res/icons/tx_mined.png \
                     +   res/icons/merchantList.png \
                     +   res/icons/openurl.png \
                     +   res/icons/account-report.png
                    

                    Directory positioning changed? Additional code

                     +   walletview.cpp \
                     +   reportview.cpp \
                     +   merchantlist.cpp
                    

                    Directory positioning changed? Additional code

                     +   res/images/splash_testnet.png \
                     +   res/images/LOGO.png \
                     +   res/images/mainbg.png \
                     +   res/images/about_bitcoin.png \
                     +   res/images/about.png \
                     +   res/images/feathercoinmap.png \
                     +   res/images/bitcoinbazaar.co.uk.png \
                     +   res/images/pockio.png \
                     +   res/images/btc-e.png \
                     +   res/images/bter.png \
                     +   res/images/cm.png \
                     +   res/images/cryptsy.png \
                     +   res/images/ct.png \
                     +   res/images/mc.png
                    

                    Bitcoin Directory positioning changed? Additional code

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

                      Add Implemented ACP and neoscrypt commit
                      https://github.com/FeatherCoin/Feathercoin/commit/c8ca4c906144910c62acd34e23a4ed624c0fbf7d

                      src/rpcserver.cpp

                      ACP and neoscrypt commit.

                       +    if (dAmount <= 0.0 || dAmount > 21000000*16)
                      

                      Bitcoin code replaced

                       +     /* Wallet-ACP */
                       +     { "getcheckpoint",          &getcheckpoint,          true,      false,      true },
                       +     { "sendcheckpoint",         &sendcheckpoint,         true,      false,      true },
                       +     { "enforcecheckpoint",      &enforcecheckpoint,      true,      false,      true },
                      

                      Additional code checkpoints

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

                        Add Implemented ACP and neoscrypt commit
                        https://github.com/FeatherCoin/Feathercoin/commit/c8ca4c906144910c62acd34e23a4ed624c0fbf7d

                        src/rpcserver.h

                        ACP and neoscrypt commit.

                        + extern json_spirit::Value getcheckpoint(const json_spirit::Array& params, bool fHelp); // in checkpointsync.cpp
                        + extern json_spirit::Value sendcheckpoint(const json_spirit::Array& params, bool fHelp);
                        + extern json_spirit::Value enforcecheckpoint(const json_spirit::Array& params, bool fHelp);
                        

                        Add checkpoint code

                         + extern json_spirit::Value getblockchaininfo(const json_spirit::Array& params, bool fHelp);
                         + extern json_spirit::Value getnetworkinfo(const json_spirit::Array& params, bool fHelp);
                        
                        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.*

                          Add Implemented ACP and neoscrypt commit
                          https://github.com/FeatherCoin/Feathercoin/commit/c8ca4c906144910c62acd34e23a4ed624c0fbf7d

                          src/txdb.cpp

                          ACP and neoscrypt commit.

                           +  return error("%s : Deserialize or I/O error - %s", __func__, e.what());
                          

                          Bitcoin code replaced

                           +  return error("%s : Deserialize or I/O error - %s", __func__, e.what());
                          

                          Bitcoin code replaced

                           + 
                           + bool CBlockTreeDB::ReadSyncCheckpoint(uint256& hashCheckpoint)
                           + {
                           +     return Read(string("hashSyncCheckpoint"), hashCheckpoint);
                           + }
                           + 
                           + bool CBlockTreeDB::WriteSyncCheckpoint(uint256 hashCheckpoint)
                           + {
                           +     return Write(string("hashSyncCheckpoint"), hashCheckpoint);
                           + }
                           + 
                           + bool CBlockTreeDB::ReadCheckpointPubKey(string& strPubKey)
                           + {
                           +     return Read(string("strCheckpointPubKey"), strPubKey);
                           + }
                           + 
                           + bool CBlockTreeDB::WriteCheckpointPubKey(const string& strPubKey)
                           + {
                           +     return Write(string("strCheckpointPubKey"), strPubKey);
                           + } 
                          

                          Additional checkpoint code.

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

                            Add Implemented ACP and neoscrypt commit
                            https://github.com/FeatherCoin/Feathercoin/commit/c8ca4c906144910c62acd34e23a4ed624c0fbf7d

                            src/txdb.h

                            ACP and neoscrypt commit.

                             + 
                             +     // ppcoin sync checkpoint related data
                             +     bool ReadSyncCheckpoint(uint256& hashCheckpoint);
                             +     bool WriteSyncCheckpoint(uint256 hashCheckpoint);
                             +     bool ReadCheckpointPubKey(std::string& strPubKey);
                             +     bool WriteCheckpointPubKey(const std::string& strPubKey);
                            
                            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.*

                              Add Implemented ACP and neoscrypt commit
                              https://github.com/FeatherCoin/Feathercoin/commit/c8ca4c906144910c62acd34e23a4ed624c0fbf7d

                              src/uint256.h

                              ACP and neoscrypt commit.

                              + typedef long long  int64;
                              + typedef unsigned long long  uint64;
                              +
                              

                              Additional variables.

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

                                Add Implemented ACP and neoscrypt commit
                                https://github.com/FeatherCoin/Feathercoin/commit/c8ca4c906144910c62acd34e23a4ed624c0fbf7d

                                src/util.cpp

                                ACP and neoscrypt commit.

                                   +bool fNeoScrypt = false;
                                

                                Addition neoscrypt variable.

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

                                  Add Implemented ACP and neoscrypt commit
                                  https://github.com/FeatherCoin/Feathercoin/commit/c8ca4c906144910c62acd34e23a4ed624c0fbf7d

                                  src/util.h

                                  ACP and neoscrypt commit.

                                     +extern bool fNeoScrypt;
                                  

                                  Addition neoscrypt variable.

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