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

    [Dev] Documenting Feathercoin Specific Software settings - Part 14

    Technical Development
    1
    34
    8223
    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.*

      Update the Dependencies layout of FTC Build docs :: commit

      Update the Dependencies layout of FTC Build from UNIX Source Instructions documentation. To make it easier to Control Feathercoin name changes / merge conflicts.

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

      doc/README.md

      Minor changes, mostly layout, extra headers to describe code being installed and bold headers.

      Update the Dependencies layout of FTC Build docs :: commit

      Update the Dependencies layout of FTC Build from UNIX Source Instructions documentation. To make it easier to Control Feathercoin name changes / merge conflicts.

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

      doc/README.md

      Minor changes, mostly layout, extra headers to describe code being installed and bold headers.

      Layout changes to FTC Build from Source Guide :: commit

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

      doc/README.md

      Minor changes, mostly layout, extra headers to describe code being installed and bold headers.

      Updates to Layout of the FTC build from source Guide :: commit

      https://github.com/FeatherCoin/Feathercoin/commit/7efe9a31b94cf871d296ffded73ba433656b014b

      doc/README.md

      Minor changes, mostly layout, extra headers to describe code being installed and bold headers.

       +## Enable uPNP
       +--enable-upnp-default 
       +
       +## Dependency issues with qr codes
       +
       +--with-qrcode=no
       +
      

      Code added, extra cases / options / headers.

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

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

        Expanded the operations dropdown of opennames dialog box :: commit

        User interface review and improvements

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

        src/qt/forms/opennamedialog.ui

        Minor layout change changes

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

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

          Patch missing :: commit

          Bug fix

          https://github.com/FeatherCoin/Feathercoin/commit/7b5d133d41fef537a49145346a31b8358d5b83c2

          src/checkpointsync.cpp

           -//#include "bitcoinrpc.h"
          

          Commented out - Code removed

           -#include "main.h"
          

          Code removed

           -// ppcoin: sync-checkpoint master key
          
           +//sync-checkpoint master key
          

          Code / comment replaced

           -            if (!SetBestChain(state, pindexCheckpoint))
          

          //g_signals.SetBestChain(chainActive.GetLocator())

          +            if (!SetBestChain(state, pindexCheckpoint))
          

          Code replaced comment removed

           -	if (fDebug)
           -	    LogPrintf("AcceptPendingSyncCheckpoint : sync-checkpoint at %s\n", hashSyncCheckpoint.ToString().c_str());
          
          
           +
           +        LogPrintf("AcceptPendingSyncCheckpoint : sync-checkpoint at %s\n", hashSyncCheckpoint.ToString().c_str());
          

          Code replaced LogPrintf interface

           -    if (mapOrphanBlocksA.count(hashPendingCheckpoint)
           -        && hashBlock ==  
          
           +    if (mapOrphanBlocks.count(hashPendingCheckpoint)
          
                 WantedByOrphan(mapOrphanBlocksA[hashPendingCheckpoint]))
          
           +        && hashBlock == 
          

          Code replaced mapOrphanBlocksA is out

          +        LogPrintf("ResetSyncCheckpoint: SetBestChain to hardened checkpoint %s\n", hash.ToString().c_str());
          

          Code replaced

            +    if (pfrom && hashPendingCheckpoint != 0 && (!mapBlockIndex.count(hashPendingCheckpoint)) && (!mapOrphanBlocks.count(hashPendingCheckpoint)))
          

          Code replaced mapOrphanBlocksA.

           -uint256 WantedByOrphan(const CBlock* pblockOrphan)
          
           +uint256 WantedByOrphan(const COrphanBlock* pblockOrphan)
          

          Code replaced

           +    while (mapOrphanBlocks.count(pblockOrphan->hashPrev))
           +        pblockOrphan = mapOrphanBlocks[pblockOrphan->hashPrev];
           +    return pblockOrphan->hashPrev;
          

          Code replaced mapOrphanBlocksA.

           +		LogPrintf("CSyncCheckpoint::ProcessSyncCheckpoint 100,hashCheckpoint=%s\n",hashCheckpoint.ToString().c_str());
          

          Code replaced / added

            -    if (!mapBlockIndex.count(hashCheckpoint))
            -    {
          
           +    if (!mapBlockIndex.count(hashCheckpoint))   //count=0 
           +    {    		
           +    		LogPrintf("CSyncCheckpoint::ProcessSyncCheckpoint 110,mapBlockIndex.count=%d \n",mapBlockIndex.count(hashCheckpoint)
          

          Code replaced

           +        LogPrintf("CSyncCheckpoint::ProcessSyncCheckpoint 130: pending for sync-checkpoint %s\n", hashCheckpoint.ToString().c_str());
          

          Code replaced

           +            // proof-of-stake because getblocks may not get it this time 	
                  
           -            pfrom->AskFor(CInv(MSG_BLOCK, mapOrphanBlocksA.count(hashCheckpoint)? WantedByOrphan(mapOrphanBlocksA[hashCheckpoint]) : hashCheckpoint));
          
           +            pfrom->AskFor(CInv(MSG_BLOCK, mapOrphanBlocks.count(hashCheckpoint)? WantedByOrphan(mapOrphanBlocks[hashCheckpoint]) : hashCheckpoint));
           +            LogPrintf("CSyncCheckpoint::ProcessSyncCheckpoint 140 ,AskFor.\n");
          

          Code replaced

           +		LogPrintf("CSyncCheckpoint::ProcessSyncCheckpoint 201 hashCheckpoint=%s ,nHeight=%d\n",hashCheckpoint.ToString().c_str(),mapBlockIndex[hashCheckpoint]->nHeight);
          
           +    LogPrintf("CSyncCheckpoint::ProcessSyncCheckpoint 210,pindexCheckpoint=%s\n",pindexCheckpoint->ToString());
          
          
           +    		LogPrintf("CSyncCheckpoint::ProcessSyncCheckpoint 220,IsInMainChain=%d\n",pindexCheckpoint->IsInMainChain());
          
          
           +            LogPrintf("ProcessSyncCheckpoint SetBestChain Invalid,hashInvalidCheckpoint=%s.\n",hashInvalidCheckpoint.ToString().c_str());
          
           +    LogPrintf("ProcessSyncCheckpoint: sync-checkpoint at %s\n", hashCheckpoint.ToString().c_str());
          

          Code replaced / added LogPrintf(

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

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

            Patch missing :: commit

            Bug fix

            https://github.com/FeatherCoin/Feathercoin/commit/7b5d133d41fef537a49145346a31b8358d5b83c2

            src/checkpointsync.h

            +#include "main.h"
            

            Code added

             -uint256 WantedByOrphan(const CBlock* pblockOrphan);
            
             +uint256 WantedByOrphan(const COrphanBlock* pblockOrphan);
            

            Code replaced

             +        // returns true if wasn't already sent 如果不是已经发送(未发送返回true)
                 if (pnode->hashCheckpointKnown != hashCheckpoint)
                 {
                     pnode->hashCheckpointKnown = hashCheckpoint;
              -            pnode->PushMessage("checkpoint", *this);
             +            pnode->PushMessage("checkpoint", *this);  //发送CSyncCheckpoint
            

            Comments / code added

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

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

              Patch missing :: commit

              Bug fix

              https://github.com/FeatherCoin/Feathercoin/commit/7b5d133d41fef537a49145346a31b8358d5b83c2

              src/main.cpp

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

              Code removed

               -		LogPrintf("SetBestChain: chainActive 
              
               +		LOCK(cs_main);         Height=%d,BlockHash=%s\n",pindex->nHeight,pindex->GetBlockHash().ToString());
                +		CBlockIndex *pindexOldTip = chainActive.Tip();
                +		LogPrintf("SetBestChain: chainActive nHeight=%d,BlockHash=%s\n",pindexOldTip->nHeight,pindexOldTip->GetBlockHash().ToString());
              

              Code replaced

               -		if (!ConnectTip(state,pindexNew))
               -		{
               -				LogPrintf("SetBestChain: false.\n");
               -				return false;
               -		}
               -		
              
              
               +    		return true;
               +        			
               +    // All modifications to the coin state will be done in this cache.
               +    // Only when all have succeeded, we push it to pcoinsTip.
               +    CCoinsViewCache view(*pcoinsTip, true);
               +
               +    // Find the fork (从pindexOldTip退到pindexNew)  
               +    CBlockIndex* pfork = pindexOldTip;
               +    CBlockIndex* plonger = pindexNew;
               +    while (pfork && pfork != plonger)
               +    {
               +        while (plonger->nHeight > pfork->nHeight) {
               +            plonger = plonger->pprev;
               +            assert(plonger != NULL);
               +        }
               +        if (pfork == plonger)
               +            break;
               +        pfork = pfork->pprev;
               +        assert(pfork != NULL);
               +    }
               +    LogPrintf("SetBestChain: pfork nHeight=%d,BlockHash=%s\n",pfork->nHeight,pfork->GetBlockHash().ToString());
               +
               +    // List of what to disconnect (从pindexOldTip退到pindexNew=pfork)
               +    vector<CBlockIndex*> vDisconnect;
               +    for (CBlockIndex* pindex = pindexOldTip; pindex != pfork; pindex = pindex->pprev)
               +        vDisconnect.push_back(pindex);
               +
               +    // List of what to connect (typically only pindexNew)
               +    vector<CBlockIndex*> vConnect;
               +    for (CBlockIndex* pindex = pindexNew; pindex != pfork; pindex = pindex->pprev)
               +        vConnect.push_back(pindex);
               +    reverse(vConnect.begin(), vConnect.end());
               +    
               +    if (vDisconnect.size() > 0) {
               +        LogPrintf("REORGANIZE: Disconnect %"PRIszu" blocks; %s...\n", vDisconnect.size(), pfork->GetBlockHash().ToString());
               +        LogPrintf("REORGANIZE: Connect %"PRIszu" blocks; ...%s\n", vConnect.size(), pindexNew->GetBlockHash().ToString());
               +    }
               +    
              

              Code replaced

              +    // return false;
              

              Commented out

               +bool CBlockIndex::IsInMainChain() const
               +{
               +		//return (pnext || this == chainActive.Tip());
               +		return chainActive.Contains(this);
               +}
               +
              

              Commented out?

               -        vRecv >> checkpoint;
               +        vRecv >> checkpoint;  //收到的检查点
               +        LogPrintf("Receive checkpoint,hashCheckpoint=%s\n.",checkpoint.hashCheckpoint.ToString().c_str());
              

              Code replaced

               +        		LogPrintf("checkpoint.ProcessSyncCheckpoint(pfrom)=true, hashCheckpoint=%s\n.",checkpoint.hashCheckpoint.ToString().c_str());
              
               +            LogPrintf("checkpoint.ProcessSyncCheckpoint  Relay=OK \n.");
              

              Code added

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

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

                Patch missing :: commit

                Bug fix

                https://github.com/FeatherCoin/Feathercoin/commit/7b5d133d41fef537a49145346a31b8358d5b83c2

                src/main.h

                 -//static const char* OPENNAME_MAGIC_BYTES_MAINSET="08";
                
                  static const unsigned char OPENNAME_MAGIC_BYTES_MAINSET=0x08;
                
                 -//static const char* OPENNAME_MAGIC_BYTES_TESTSET="88";
                

                Code removed

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

                Code added

                 -extern std::map<uint256, CBlock*> mapOrphanBlocksA;  //for checkpointsync.cpp
                
                 +extern std::map<uint256, CBlock*> mapOrphanBlocksA;
                 +extern std::map<uint256, COrphanBlock*> mapOrphanBlocks; 
                

                Review ?? mapOrphanBlocksA; stays iin this time?

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

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

                  Patch missing :: commit

                  Bug fix

                  https://github.com/FeatherCoin/Feathercoin/commit/7b5d133d41fef537a49145346a31b8358d5b83c2

                  src/net.cpp

                   +#include "main.h"
                  

                  Code added

                   -{ 
                   -    // main.h:PushGetBlocks(CNode* pnode, CBlockIndex* pindexBegin, uint256 hashEnd);
                      // Filter out duplicate requests
                   -    /*if (pindexBegin == pindexLastGetBlocksBegin && hashEnd == hashLastGetBlocksEnd)
                  
                   +{  
                   +    if (pindexBegin == pindexLastGetBlocksBegin && hashEnd == hashLastGetBlocksEnd)
                  

                  Code replaced

                   -    PushMessage("getblocks", CBlockLocator(pindexBegin), hashEnd);*/ //'CBlockIndex*' to 'const CBlockLocator&' 
                  
                   +    //PushMessage("getblocks", CBlockLocator(pindexBegin->phashBlock), hashEnd);
                   +    PushMessage("getblocks", chainActive.GetLocator(pindexBegin), hashEnd);
                  

                  Code replaced

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

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

                    Patch missing :: commit

                    Bug fix

                    https://github.com/FeatherCoin/Feathercoin/commit/7b5d133d41fef537a49145346a31b8358d5b83c2

                    src/rpcnet.cpp

                     +#include "base58.h"
                    

                    Code added

                     +
                     +// make a public-private key pair (first introduced in ppcoin)
                     +Value makekeypair(const Array& params, bool fHelp)
                     +{
                     +    if (fHelp || params.size() > 1)
                     +        throw runtime_error(
                     +            "makekeypair [prefix]\n"
                     +            "Make a public/private key pair.\n"
                     +            "[prefix] is optional preferred prefix for the public key.\n");
                     +
                     +    string strPrefix = "";
                     +    if (params.size() > 0)
                     +        strPrefix = params[0].get_str();
                     +
                     +    CKey key;
                     +    //CPubKey pubkey;
                     +    bool fCompressed;
                     +    int nCount = 0;
                     +    do
                     +    {
                     +        key.MakeNewKey(false);
                     +        //pubkey = key.GetPubKey();
                     +        nCount++;
                     +    } while (nCount < 10000 && strPrefix != HexStr(key.GetPubKey().Raw()).substr(0, strPrefix.size()));
                     +      //while (nCount < 10000 && strPrefix != HexStr(pubkey.begin(), pubkey.end()).substr(0, strPrefix.size()));
                     +
                     +    //if (strPrefix != HexStr(pubkey.begin(), pubkey.end()).substr(0, strPrefix.size()))
                     +    if (strPrefix != HexStr(key.GetPubKey().Raw()).substr(0, strPrefix.size()))
                     +        return Value::null;
                     +		
                     +		CSecret vchSecret = key.GetSecret(fCompressed);
                     +		
                     +    Object result;
                     +    //result.push_back(Pair("PublicKey", HexStr(pubkey.begin(), pubkey.end())));
                     +    //result.push_back(Pair("PrivateKey", CBitcoinSecret(key).ToString()));
                     +    result.push_back(Pair("PublicKey", HexStr(key.GetPubKey().Raw())));
                     +    result.push_back(Pair("PrivateKey", CBitcoinSecret(vchSecret, fCompressed).ToString()));
                     +    return result;
                     +}
                    

                    Code added

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

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

                      Patch missing :: commit

                      Bug fix

                      https://github.com/FeatherCoin/Feathercoin/commit/7b5d133d41fef537a49145346a31b8358d5b83c2

                      src/rpcserver.cpp

                       +    { "makekeypair",     				&makekeypair,      			 true,      false,      true },
                      

                      Code added

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

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

                        Patch missing :: commit

                        Bug fix

                        https://github.com/FeatherCoin/Feathercoin/commit/7b5d133d41fef537a49145346a31b8358d5b83c2

                        src/rpcserver.h

                         +extern json_spirit::Value makekeypair(const json_spirit::Array& params, bool fHelp);
                        

                        Code added

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

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

                          Patch missing :: commit

                          Bug fix

                          https://github.com/FeatherCoin/Feathercoin/commit/7b5d133d41fef537a49145346a31b8358d5b83c2

                          Code review

                          I think that more logprintf statements should be executed only,if the debug flag is set.
                          The current log is to exhaustive and a 'normal ’ user doesn’t need it. Please insert back the 'if fDebug…'statements and add themto the new log entries

                          Was this checked for compliance?

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

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

                            Patch missing :: commit

                            Bug fix

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

                            src/main.cpp

                             -    LogPrintf("CheckProofOfWork() hash=%s \n",hash.ToString().c_str());
                            
                             +    //LogPrintf("CheckProofOfWork() hash=%s \n",hash.ToString().c_str());
                             +    //LogPrintf("CheckProofOfWork() nBits=%i \n",nBits);
                             +    //LogPrintf("CheckProofOfWork() bnTarget.getuint256=%s \n",bnTarget.getuint256().ToString().c_str());
                            
                             +		LogPrintf("SetBestChain:100 chainActive nHeight=%d,BlockHash=%s\n",pindexOldTip->nHeight,pindexOldTip->GetBlockHash().ToString());
                            
                             +		LogPrintf("SetBestChain:100 pindexNew 
                            
                             +    LogPrintf("SetBestChain:110 pfork nHeight=%d,BlockHash=%s\n",pfork->nHeight,pfork->GetBlockHash().ToString());
                            
                             +        LogPrintf("SetBestChain:120: Disconnect %"PRIszu" blocks; %s...\n", vDisconnect.size(), pfork->GetBlockHash().ToString());
                             +        LogPrintf("SetBestChain:120: Connect %"PRIszu" blocks; ...%s\n", vConnect.size(), pindexNew->GetBlockHash().ToString());
                            

                            Code replaced

                             +    // Disconnect shorter branch
                             +    vector<CTransaction> vResurrect;
                             +    BOOST_FOREACH(CBlockIndex* pindex, vDisconnect) {
                             +        CBlock block;
                             +        if (!ReadBlockFromDisk(block, pindex))
                             +            return state.Abort(_("Failed to read block"));
                             +        int64 nStart = GetTimeMicros();
                             +        bool fClean = true;
                             +        if (!DisconnectBlock(block, state, pindex, view, &fClean))
                             +            return error("SetBestBlock() : DisconnectBlock %s failed", pindex->GetBlockHash().ToString().c_str());
                             +        if (fBenchmark)
                             +            LogPrintf("- Disconnect: %.2fms\n", (GetTimeMicros() - nStart) * 0.001);
                             +
                             +        // Queue memory transactions to resurrect.
                             +        // We only do this for blocks after the last checkpoint (reorganisation before that
                             +        // point should only happen with -reindex/-loadblock, or a misbehaving peer.
                             +        BOOST_FOREACH(const CTransaction& tx, block.vtx)
                             +            if (!tx.IsCoinBase() && pindex->nHeight > Checkpoints::GetTotalBlocksEstimate())
                             +                vResurrect.push_back(tx);
                             +    }
                             +    
                             +    // Connect longer branch
                             +    vector<CTransaction> vDelete;
                             +    BOOST_FOREACH(CBlockIndex *pindex, vConnect) {
                             +        CBlock block;
                             +        if (!ReadBlockFromDisk(block, pindex))
                             +            return state.Abort(_("Failed to read block"));
                             +        int64 nStart = GetTimeMicros();
                             +        if (!ConnectBlock(block, state, pindex, view)) {
                             +            if (state.IsInvalid()) {
                             +                InvalidChainFound(pindexNew);
                             +                InvalidBlockFound(pindex,state);
                             +            }
                             +            return error("SetBestBlock() : ConnectBlock %s failed", pindex->GetBlockHash().ToString().c_str());
                             +        }
                             +        if (fBenchmark)
                             +            LogPrintf("- Connect: %.2fms\n", (GetTimeMicros() - nStart) * 0.001);
                             +
                             +        // Queue memory transactions to delete
                             +        BOOST_FOREACH(const CTransaction& tx, block.vtx)
                             +            vDelete.push_back(tx);
                             +    }
                             +    LogPrintf("SetBestChain:130: \n");
                             +    
                             +    // Flush changes to global coin state
                             +    int64 nStart = GetTimeMicros();
                             +    int nModified = view.GetCacheSize();
                             +    assert(view.Flush());
                             +    int64 nTime = GetTimeMicros() - nStart;
                             +    if (fBenchmark)
                             +        LogPrintf("- Flush %i transactions: %.2fms (%.4fms/tx)\n", nModified, 0.001 * nTime, 0.001 * nTime / nModified);    
                             +    
                             +    if (!WriteChainState(state))
                             +        return false;
                             +        
                             +    // Resurrect memory transactions that were in the disconnected branch
                             +    BOOST_FOREACH(CTransaction& tx, vResurrect) {
                             +        // ignore validation errors in resurrected transactions
                             +        CValidationState stateDummy;
                             +        list<CTransaction> removed;
                             +        if (!AcceptToMemoryPool(mempool, stateDummy, tx, false, NULL))
                             +            mempool.remove(tx, removed, true);               
                             +    }
                             
                             
                             +    // Delete redundant memory transactions that are in the connected branch
                             +    list<CTransaction> txConflicted;
                             +    BOOST_FOREACH(CTransaction& tx, vDelete) {
                             +        list<CTransaction> removed;
                             +        mempool.remove(tx, removed);
                             +        mempool.removeConflicts(tx, txConflicted);
                             +    }
                             
                             
                             +    mempool.check(pcoinsTip);
                             +    LogPrintf("SetBestChain:140: \n");
                             +    
                             +    UpdateTip(pindexNew);
                             +    
                             +    // Tell wallet about transactions that went from mempool to conflicted:
                             +    BOOST_FOREACH(const CTransaction &tx, txConflicted) {
                             +        SyncWithWallets(tx.GetHash(), tx, NULL);
                             +    }
                            

                            Code added

                            +		LogPrintf("SetBestChain:150 true.\n");
                            

                            Code replaced

                             -		//return (pnext || this == chainActive.Tip());
                            

                            Comment removed

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

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

                              Updated FTC Install dependencies guide, build zxing (c++ version) :: commit

                              Various layout changes, dependency updates and build zxing help

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

                              doc/README.md

                               +    sudo apt-get install libqt5printsupport5 libqt5opengl5-dev  
                              

                              Now Qt5

                               +    sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5  
                              

                              Now libqt5core5a

                               +    sudo apt-get install libssl-dev 
                              

                              Typo no install

                               +### If PPA or .deb does not work, compile the zxing libraries yourself, download the sources from github.com.
                               +
                               +Search for zxing-cpp to get the c++ version of the code.   
                               +
                               +https://github.com/glassechidna/zxing-cpp
                               +
                               +Build command for libzxing : 
                              
                              
                               +export CXXFLAGS="-D_GLIBCXX_USE_CXX11_ABI=0"
                               +cmake -G “Unix Makefiles” … -D_GLIBCXX_USE_CXX11_ABI=0 -DCMAKE_BUILD_TYPE=Release
                               +make 
                               +sudo make install 
                              

                              Additional code / build instruction text

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

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

                                Updated FTC Install dependencies guide, build zxing (c++ version) :: commit

                                Various MD layout changes

                                https://github.com/FeatherCoin/Feathercoin/commit/20e75314f47ff6bb8d625bcee86c934b76a8679a

                                doc/README.md

                                 +mkdir build
                                 +cd build
                                

                                Extra instructions for zxing build

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

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

                                  Further tweeks to zxing build from source instructions :: commit

                                  Various MD layout changes

                                  https://github.com/FeatherCoin/Feathercoin/commit/4a1fd9b460e266ee74af34a6bc10b73c7001aba7

                                  doc/README.md

                                   +cmake -G “Unix Makefiles”.. -D_GLIBCXX_USE_CXX11_ABI=0 -DCMAKE_BUILD_TYPE=Release   
                                  

                                  Instructions don’t copy from markdown. …

                                    +--with-incompatible-bdb
                                  

                                  Additional build instructions available

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

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

                                    Further tweeks to zxing build from source instructions :: commit

                                    Various MD layout changes, further updates

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

                                    doc/README.md

                                     -export CXXFLAGS="-D_GLIBCXX_USE_CXX11_ABI=0"  
                                    
                                     +export CXXFLAGS="-fPIC"
                                    

                                    Code replaced

                                     +sudo nano /usr/local/include/zxing/LuminanceSource.h
                                    
                                    +On Line 30 : Change public to private:
                                    

                                    Code replaced

                                     +     ./configure --with-gui=qt5 --enable-tests=no  --with-incompatible-bdb --enable-upnp-default --with-qrcode=yes
                                    

                                    Additional switches

                                     +### Build Berkley database version 4.8 from source.     
                                     +
                                     +wget http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz
                                     +tar -xzvf db-4.8.30.NC.tar.gz
                                     +cd db-4.8.30.NC/build_unix/
                                     +…/dist/configure --enable-cxx
                                     +make
                                     +sudo make install
                                     +
                                     +Example config usage :
                                     +
                                     +./configure --disable-upnp-default --disable-tests --with-boost-libdir=/usr/lib/arm-linux-gnueabihf CPPFLAGS="-I/usr/local/BerkeleyDB.4.8/include -O2" LDFLAGS="-L/usr/local/BerkeleyDB.4.8/lib"
                                    

                                    Add code for Berkelay self build

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

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

                                      ** Updated main.cpp to remove unused variable :: commit**

                                      Updated main.cpp to remove unused variable pblockindexFBBHLast and ./…

                                      …autoconfig.sh to use autoupdate

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

                                      autogen.sh

                                       -autoreconf -if --warnings=all
                                      
                                      +autoupdate
                                      +autoreconf  -if --warnings=all
                                      

                                      Code replaced

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

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

                                        ** Updated main.cpp to remove unused variable :: commit**

                                        Updated main.cpp to remove unused variable pblockindexFBBHLast and ./…

                                        …autoconfig.sh to use autoupdate

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

                                        src/main.cpp

                                        -static CBlockIndex* pblockindexFBBHLast;
                                        
                                         +// pblockindexFBBHLast : no longer used 
                                         +// static CBlockIndex* pblockindexFBBHLast;
                                        

                                        Comments and code removed

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

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

                                          Correct spelling / typo wit = with in the Bitcoingui.cpp :: commit

                                          Correct spelling / typo wit = with in the Bitcoingui.cpp connector menu

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

                                          src/qt/bitcoingui.cpp

                                           +    coinnectorAction->setStatusTip(tr("Exchange other coins with your feathercoin on Coinnector"));
                                          

                                          Needs review against Translation database.

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

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

                                            ScanHash_CryptoPP unused function remove :: commit

                                            ScanHash_CryptoPP unused function removed from miner.cpp

                                            https://github.com/FeatherCoin/Feathercoin/commit/2ac641ec011faf29f669f8b1e8449ef7e94b2af2

                                            src/miner.cpp

                                             +// ScanHash_CryptoPP not used
                                             +//unsigned int static ScanHash_CryptoPP(char* pmidstate, char* pdata, char* phash1, char* phash, unsigned int& nHashesDone)
                                             +//{
                                             +//    unsigned int& nNonce = *(unsigned int*)(pdata + 12);
                                             +//    for (;;)
                                             +//    {
                                             +//        // Crypto++ SHA256
                                             +//        // Hash pdata using pmidstate as the starting state into
                                             +//        // pre-formatted buffer phash1, then hash phash1 into phash
                                             +//        nNonce++;
                                            

                                            Start of code which is commented out, so can be put back

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