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

    [Dev] Documenting Feathercoin Specific Software settings - Part 2

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

      https://github.com/FeatherCoin/Feathercoin/commit/516a78744d2eac208b61a864f81d59dc9055568d

      src/qt/feathercoin.qrc

      Add MerchantListView FTC reports commit

      Note : 2nd commit?

       +        <file alias="merchantList">res/icons/merchantList.png</file>
      
       +  <file alias="merchant_map">res/images/feathercoinmap.png</file>
       +  <file alias="merchant_e">res/images/btc-e.png</file>
       +  <file alias="merchant_c">res/images/cryptsy.png</file>
       +  <file alias="merchant_bter">res/images/bter.png</file>
       +  <file alias="merchant_ct">res/images/ct.png</file>
       +  <file alias="merchant_cm">res/images/cm.png</file>
       +  <file alias="merchant_mc">res/images/mc.png</file>
       +  <file alias="merchant_bitcoinbazaar">res/images/bitcoinbazaar.co.uk.png</file>
       +  <file alias="merchant_pockio">res/images/pockio.png</file>
      

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

        https://github.com/FeatherCoin/Feathercoin/commit/516a78744d2eac208b61a864f81d59dc9055568d

        src/qt/forms/merchantlist.ui

        Appears to be a new file for reports. Defines ui, update through Qt?. Add MerchantListView FTC reports commit

            +<?xml version="1.0" encoding="UTF-8"?>
         +<ui version="4.0">
         + <class>MerchantListView</class>
         + <widget class="QWidget" name="MerchantListView">
         +  <property name="geometry">
         +   <rect>
         +    <x>0</x>
         +    <y>0</y>
         +    <width>790</width>
         +    <height>419</height>
         +   </rect>
         +  </property>
         +  <property name="windowTitle">
         +   <string>Form</string>
         +  </property>
        

        First part of ui definitions, 300 lines of 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.*

          https://github.com/FeatherCoin/Feathercoin/commit/516a78744d2eac208b61a864f81d59dc9055568d

          src/qt/guiutil.cpp

          Add MerchantListView FTC reports commit

           +    if(!uri.isValid() || uri.scheme() != QString("feathercoin"))
          

          Name change to Feathercoin.

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

            https://github.com/FeatherCoin/Feathercoin/commit/516a78744d2eac208b61a864f81d59dc9055568d

            src/qt/merchantlist.cpp

            New file for reports. Add MerchantListView FTC reports commit

               +// Copyright (c) 2013-2014 The Feathercoin developers
             +// from overviewpage
             +
             +#include "merchantlist.h"
             +#include "ui_merchantlist.h"
             +
             +#include "bitcoinunits.h"
             +#include "clientmodel.h"
             +#include "guiconstants.h"
             +#include "guiutil.h"
             +#include "optionsmodel.h"
             +#include "transactionfilterproxy.h"
             +#include "transactiontablemodel.h"
             +#include "walletmodel.h"
             +
             +#include <QAbstractItemDelegate>
             +#include <QPainter>
             +#include <QDesktopServices>
             +#include <QUrl>
             +
             +#define DECORATION_SIZE 64
             +#define NUM_ITEMS 3
             +
             +class MerViewDelegate : public QAbstractItemDelegate
            

            Initial code 250 lines added file

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

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

              https://github.com/FeatherCoin/Feathercoin/commit/516a78744d2eac208b61a864f81d59dc9055568d

              src/qt/merchantlist.h

              New file for FTC reports. Add MerchantListView FTC reports commit

               +// Copyright (c) 2013-2014 The Feathercoin developers
               +// Distributed under the MIT/X11 software license, see the accompanying
               +// file COPYING or http://www.opensource.org/licenses/mit-license.php.
               +
               +#ifndef MERCHANTLISTVIEW_H
               +#define MERCHANTLISTVIEW_H
               +
               +#include <QWidget>
               +
               +class ClientModel;
               +class TransactionFilterProxy;
               +class MerViewDelegate;
               +class WalletModel;
               +
               +namespace Ui {
               +	class MerchantListView;
              

              Initial code then, 64 lines of code in new file.

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

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

                https://github.com/FeatherCoin/Feathercoin/commit/516a78744d2eac208b61a864f81d59dc9055568d

                src/qt/reportview.h

                Add MerchantListView FTC reports commit

                +// Copyright (c) 2013-2014 The Feathercoin developers
                

                Copyright.

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

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

                  https://github.com/FeatherCoin/Feathercoin/commit/516a78744d2eac208b61a864f81d59dc9055568d

                  src/qt/transactionview.cpp

                  Updates to account for new FTC reports. Add MerchantListView FTC reports commit

                   +#include <QDesktopServices>
                  
                   +#include <QSignalMapper>
                  
                   +#include <QUrl>
                  

                  Additional code, scrypt interface

                   +    dateWidget->addItem(tr("Yesterday"), Yesterday);
                  
                   +    dateWidget->addItem(tr("Last week"), LastWeek);
                  

                  FTC report requirement?

                   +    totalWidget= new QLabel(tr("Total:"),this);
                   +    vlayout->addWidget(totalWidget); 
                  

                  Totalisation added code for FTC reports?

                  +    QAction *showTotalAction = new QAction(tr("Show transaction total"), this);
                  

                  report code

                   +    contextMenu->addAction(showTotalAction);
                   +
                   +    mapperThirdPartyTxUrls = new QSignalMapper(this);
                  
                  
                   // Connect actions
                   +    connect(mapperThirdPartyTxUrls, SIGNAL(mapped(QString)), this, SLOT(openThirdPartyTxUrl(QString)));
                   +
                  

                  Additional code FTC reports

                   +    connect(showTotalAction, SIGNAL(triggered()), this, SLOT(showTotal()));
                  
                    +
                    +   if (model->getOptionsModel())
                    +   {
                    +       // Add third party transaction URLs to context menu
                    +       QStringList listUrls = model->getOptionsModel()->getThirdPartyTxUrls().split("|", QString::SkipEmptyParts);
                    +       for (int i = 0; i < listUrls.size(); ++i)
                    +       {
                    +           QString host = QUrl(listUrls[i].trimmed(), QUrl::StrictMode).host();
                    +           if (!host.isEmpty())
                    +           {
                    +               QAction *thirdPartyTxUrlAction = new QAction(host, this); // use host as menu item label
                    +               if (i == 0)
                    +                   contextMenu->addSeparator();
                    +               contextMenu->addAction(thirdPartyTxUrlAction);
                    +               connect(thirdPartyTxUrlAction, SIGNAL(triggered()), mapperThirdPartyTxUrls, SLOT(map()));
                    +               mapperThirdPartyTxUrls->setMapping(thirdPartyTxUrlAction, listUrls[i].trimmed());
                    +           }
                    +       }
                    +   }
                    +   
                    +   connect(transactionView->selectionModel(), SIGNAL(selectionChanged(const QItemSelection &, const QItemSelection &)), this, SLOT(showTotal()));         
                    +   showTotal();
                  

                  Block of added code for FTC reports

                   +    case Yesterday:{
                   +    	  QDate startOfDay = current.addDays(-1);
                   +   transactionProxyModel->setDateRange(
                   +           QDateTime(startOfDay),
                   +           QDateTime(current));
                   +   } break;
                  

                  Additional FTC report code block

                   +    case LastWeek: {
                   +    	  //from Monday to Sunday
                   +   QDate startOfWeek = current.addDays(-(current.dayOfWeek()+6));
                   +   QDate endOfWeek = current.addDays(-(current.dayOfWeek()-1));
                   +   transactionProxyModel->setDateRange(
                   +           QDateTime(startOfWeek),
                   +           QDateTime(endOfWeek));
                   +   } break;        
                  

                  Additional FTC report code block

                   +    showTotal(); 
                  

                  Show title is called a number of times dependent on if statements which define the type of filter being applied.

                   + void TransactionView::showTotal()
                   + {
                   + 	  float fTotal=0;
                   + 	  for (int i=0;i<=transactionProxyModel->rowCount();i     +      + )
                   + 	  	fTotal     + =transactionProxyModel->data(transactionProxyModel->index(i,4)).toFloat();
                   + 
                   +     totalWidget->setText(tr("Date:")     + dateWidget->currentText()     + " "     + tr("Type:")     + typeWidget->currentText()     + " "     + tr("Total:")     + QObject::tr("%1").arg(fTotal)     + " FTC");
                   + }
                   + 
                   + void TransactionView::openThirdPartyTxUrl(QString url)
                   + {
                   +     if(!transactionView || !transactionView->selectionModel())
                   +         return;
                   +     QModelIndexList selection = transactionView->selectionModel()->selectedRows(0);
                   +     if(!selection.isEmpty())
                   +          QDesktopServices::openUrl(QUrl::fromUserInput(url.replace("%s", selection.at(0).data(TransactionTableModel::TxHashRole).toString())));
                   + }
                   + 
                  

                  Block of additional FTC report code

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

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

                    https://github.com/FeatherCoin/Feathercoin/commit/516a78744d2eac208b61a864f81d59dc9055568d

                    src/qt/transactionview.h

                    Updates to account for / add new FTC reports. Add MerchantListView FTC reports commit

                     +class QSignalMapper;
                    

                    Include class

                       +    Yesterday,
                       +    LastWeek,
                    

                    Include addition time domains for reports

                     +    QLabel *totalWidget;
                    
                     +    QSignalMapper *mapperThirdPartyTxUrls;
                    
                     +    void openThirdPartyTxUrl(QString url);
                     +    void showTotal();
                    

                    Additions for FTC reports.

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

                      https://github.com/FeatherCoin/Feathercoin/commit/516a78744d2eac208b61a864f81d59dc9055568d

                      src/qt/walletframe.cpp

                      Updates to account for / add new FTC reports. Add MerchantListView FTC reports commit

                       + void WalletFrame::gotoMerchantListPage()
                       + {
                       +     QMap<QString, WalletView*>::const_iterator i;
                       +     for (i = mapWalletViews.constBegin(); i != mapWalletViews.constEnd();      +      + i)
                       +         i.value()->gotoMerchantListPage();
                       + }
                       +
                      
                      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.*

                        https://github.com/FeatherCoin/Feathercoin/commit/516a78744d2eac208b61a864f81d59dc9055568d

                        src/qt/walletframe.h

                        Add MerchantListView FTC reports commit

                         +    /** Switch to merchant list page */
                         +    void gotoMerchantListPage();
                        

                        Additions for FTC reports

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

                          https://github.com/FeatherCoin/Feathercoin/commit/516a78744d2eac208b61a864f81d59dc9055568d

                          src/qt/walletview.cpp

                          Add MerchantListView FTC reports commit

                           +#include "merchantlist.h"
                          
                          +    merchantlistPage = new MerchantListView();
                          
                          +    addWidget(merchantlistPage);
                          
                          +    overviewPage->setWalletModel(walletModel);
                          +    merchantlistPage->setWalletModel(walletModel);
                          

                          Additions for reports

                           -    overviewPage->setWalletModel(walletModel);
                          

                          Bitcoin code removed

                           + void WalletView::gotoMerchantListPage()
                           + {
                           +     setCurrentWidget(merchantlistPage); 
                           + }
                           + 
                          

                          Additions for FTC reports

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

                            https://github.com/FeatherCoin/Feathercoin/commit/516a78744d2eac208b61a864f81d59dc9055568d

                            src/qt/walletview.h

                            Add MerchantListView FTC reports commit

                             +class MerchantListView;
                            

                            FTC report interface change

                             +    /** Switch to merchant list page */
                             +    void gotoMerchantListPage();
                            
                            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

                              configure.ac

                              ACP and neoscrypt commit (2?)

                               +AM_PROG_AS
                              

                              Additional code

                               +  bdb_prefix=`$BREW --prefix berkeley-db5`
                              

                              Database updated

                               - BITCOIN_FIND_BDB48
                              

                              Code replaced.

                               + BITCOIN_FIND_BDB51
                              

                              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/Makefile.am

                                ACP and neoscrypt commit

                                 +  bin_PROGRAMS += feathercoind
                                
                                 +  bin_PROGRAMS += feathercoin-cli
                                

                                Name change.

                                 +  auxpow.h \
                                
                                 +  checkpointsync.h \
                                
                                 +  scrypt.h \
                                 +  neoscrypt.h \
                                

                                auxilliary proof of work, scrypt, neoscrpt headers added

                                 +  auxpow.cpp \
                                
                                 +  base58.cpp \
                                
                                 +  scrypt.cpp \
                                 +  neoscrypt.c \
                                 +  neoscrypt_asm.S \
                                

                                Add cpp file references

                                 + if GLIBC_BACK_COMPAT
                                 + libbitcoin_common_a_SOURCES   += compat/glibc_compat.cpp
                                 + libbitcoin_common_a_SOURCES   += compat/glibcxx_compat.cpp
                                 + endif
                                 + 
                                

                                Additional code

                                 +# feathercoind binary #
                                 +feathercoind_LDADD = \
                                

                                Bitcoin code replaced

                                 +feathercoind_LDADD += libbitcoin_wallet.a
                                
                                 +feathercoind_SOURCES = feathercoind.cpp
                                 
                                 +feathercoind_SOURCES += feathercoind-res.rc
                                
                                 +feathercoind_LDADD += $(BOOST_LIBS) $(BDB_LIBS)
                                
                                 +# feathercoin-cli binary #
                                 +feathercoin_cli_LDADD = \
                                
                                +feathercoin_cli_SOURCES = feathercoin-cli.cpp
                                
                                +feathercoin_cli_SOURCES += feathercoin-cli-res.rc
                                

                                Interface change to feathercoin name change.

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

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

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

                                  src/checkpoints.cpp

                                  ACP and neoscrypt commit, (2nd commit?)

                                   +     
                                   +     uint256 GetLatestHardenedCheckpoint()
                                   +     {
                                   +         const MapCheckpoints& checkpoints = *Checkpoints().mapCheckpoints;
                                   +         return (checkpoints.rbegin()->second);
                                   +     }  
                                  

                                  Additional code for 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/checkpoints.h

                                    ACP and neoscrypt commit, (2nd commit?)

                                    +    // Returns the block hash of latest hardened checkpoint
                                    +    uint256 GetLatestHardenedCheckpoint();
                                    

                                    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/checkpointsync.cpp

                                      Additional file for checkpoints. Large.

                                      ACP and neoscrypt commit,

                                       + // Copyright (c) 2012-2013 PPCoin developers
                                       + // Copyright (c) 2013 Primecoin developers
                                       + // Distributed under conditional MIT/X11 software license,
                                       + // see the accompanying file COPYING
                                       + //
                                       + // The synchronized checkpoint system is first developed by Sunny King for
                                       + // ppcoin network in 2012, giving cryptocurrency developers a tool to gain
                                       + // additional network protection against 51% attack.
                                       + //
                                       + // Primecoin also adopts this security mechanism, and the enforcement of
                                       + // checkpoints is explicitly granted by user, thus granting only temporary
                                       + // consensual central control to developer at the threats of 51% attack.
                                       + //
                                       + // Concepts
                                       + //
                                       + // In the network there can be a privileged node known as 'checkpoint master'.
                                       + // This node can send out checkpoint messages signed by the checkpoint master
                                       + // key. Each checkpoint is a block hash, representing a block on the blockchain
                                       + // that the network should reach consensus on.
                                       + //
                                       + // Besides verifying signatures of checkpoint messages, each node also verifies
                                       + // the consistency of the checkpoints. If a conflicting checkpoint is received,
                                       + // it means either the checkpoint master key is compromised, or there is an
                                       + // operator mistake. In this situation the node would discard the conflicting
                                       + // checkpoint message and display a warning message. This precaution controls
                                       + // the damage to network caused by operator mistake or compromised key.
                                       + //
                                       + // Operations
                                       + //
                                       + // Checkpoint master key can be established by using the 'makekeypair' command
                                       + // The public key in source code should then be updated and private key kept
                                       + // in a safe place.
                                       + //
                                       + // Any node can be turned into checkpoint master by setting the 'checkpointkey'
                                       + // configuration parameter with the private key of the checkpoint master key.
                                       + // Operator should exercise caution such that at any moment there is at most
                                       + // one node operating as checkpoint master. When switching master node, the
                                       + // recommended procedure is to shutdown the master node and restart as
                                       + // regular node, note down the current checkpoint by 'getcheckpoint', then
                                       + // compare to the checkpoint at the new node to be upgraded to master node.
                                       + // When the checkpoint on both nodes match then it is safe to switch the new
                                       + // node to checkpoint master.
                                       + //
                                       + // The configuration parameter 'checkpointdepth' specifies how many blocks
                                       + // should the checkpoints lag behind the latest block in auto checkpoint mode.
                                       + // A depth of 0 is the strongest auto checkpoint policy and offers the greatest
                                       + // protection against 51% attack. A negative depth means that the checkpoints
                                       + // should not be automatically generated by the checkpoint master, but instead
                                       + // be manually entered by operator via the 'sendcheckpoint' command. The manual
                                       + // mode is also the default mode (default value -1 for checkpointdepth).
                                       + //
                                       + // Command 'enforcecheckpoint' and configuration parameter 'checkpointenforce'
                                       + // are for the users to explicitly consent to enforce the checkpoints issued
                                       + // from checkpoint master. To enforce checkpoint, user needs to either issue
                                       + // command 'enforcecheckpoint true', or set configuration parameter
                                       + // checkpointenforce=1. The current enforcement setting can be queried via
                                       + // command 'getcheckpoint', where 'subscribemode' displays either 'enforce'
                                       + // or 'advisory'. The 'enforce' mode of subscribemode means checkpoints are
                                       + // enforced. The 'advisory' mode of subscribemode means checkpoints are not
                                       + // enforced but a warning message would be displayed if the node is on a 
                                       + // different blockchain fork from the checkpoint, and this is the default mode.
                                       + //
                                       + 
                                      

                                      Documentation. for checkpoints code. New file 530 lines of 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/checkpointsync.h

                                        Additional file for checkpoints. Large.

                                        ACP and neoscrypt commit

                                         + // Copyright (c) 2011-2013 PPCoin developers
                                         + // Copyright (c) 2013 Primecoin developers
                                         + // Distributed under conditional MIT/X11 open source software license
                                         + // see the accompanying file COPYING
                                         + #ifndef PRIMECOIN_CHECKPOINTSYNC_H
                                         + #define  PRIMECOIN_CHECKPOINTSYNC_H
                                         + 
                                         + #include "net.h"
                                         + #include "util.h"
                                         + 
                                         + class uint256;
                                         + class CBlock;
                                         + class CBlockIndex;
                                         + class CSyncCheckpoint;
                                        

                                        Add new file 129 lines 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/core.h

                                          ACP and neoscrypt commit

                                           +// Copyright (c) 2009-2013 The Bitcoin developers
                                          

                                          Bitcoin code replaced?

                                          +#include "neoscrypt.h"
                                          
                                          +#include "chainparams.h"
                                          
                                          +// DogeCoin aux chain ID = 0x0062 (98), Feathercoin unused
                                          

                                          Code additions

                                           -    {
                                           -        uint256 thash;
                                           -        scrypt_1024_1_1_256(BEGIN(nVersion), BEGIN(thash));
                                           -        return thash;
                                          

                                          Bitcoin code removed

                                           + 		/* Calculates block proof-of-work hash using either NeoScrypt or Scrypt */
                                           +     uint256 GetPoWHash() const {
                                           + 				//from 0.8.7 main.h
                                           + 				int nForkFour = 432000;
                                           + 				int nTestnetFork   =  600;
                                           + 				unsigned int nSwitchV2            = 1413936000; // Wed, 22 Oct 2014 00:00:00 GMT
                                           + 				unsigned int nTestnetSwitchV2     = 1406473140; // Sun, 27 Jul 2014 14:59:00 GMT
                                           +     	
                                           +         unsigned int profile = 0x0;
                                           +         uint256 hash;
                                           + 
                                           +         /* All blocks generated up to this time point are Scrypt only */
                                           +         if((TestNet() && (nTime < nTestnetSwitchV2)) ||
                                           +           (!TestNet() && (nTime < nSwitchV2))) {
                                           +             profile = 0x3;
                                           +         } else {
                                           +             /* All these blocks must be v2     +  with valid nHeight */
                                           +             int nHeight = GetBlockHeight();
                                           +             if(TestNet()) {
                                           +                 if(nHeight < nTestnetFork)
                                           +                   profile = 0x3;
                                           +             } else {
                                           +                 if(nHeight < nForkFour)
                                           +                   profile = 0x3;
                                           +             }
                                           +         }
                                           + 				
                                           + 				if (profile==0x0)
                                           + 					{
                                           + 						neoscrypt((unsigned char *) &nVersion, (unsigned char *) &hash, profile);
                                           + 					}
                                           + 				if (profile==0x3)
                                           + 					{
                                           +         		scrypt_1024_1_1_256(BEGIN(nVersion), BEGIN(hash));
                                           + 					}
                                           + 				//scrypt_1024_1_1_256(BEGIN(nVersion), BEGIN(hash));
                                           + 					
                                           +         return(hash);
                                           }
                                           }
                                           
                                           
                                           +     /* Extracts block height from v2     +  coin base;
                                           +      * ignores nVersion because it's unrealiable */
                                           +     int GetBlockHeight() const {
                                           +         /* Prevents a crash if called on a block header alone */
                                           +         if(vtx.size()) {
                                           +             /* Serialised CScript */
                                           +             std::vector<unsigned char>::const_iterator scriptsig = vtx[0].vin[0].scriptSig.begin();
                                           +             unsigned char i, scount = scriptsig[0];
                                           +             /* Optimise: nTime is 4 bytes always,
                                           +              * nHeight must be less for a long time;
                                           +              * check against a threshold when the time comes */
                                           +             if(scount < 4) {
                                           +                 int height = 0;
                                           +                 unsigned char *pheight = (unsigned char *) &height;
                                           +                 for(i = 0; i < scount; i     +      + )
                                           +                   pheight[i] = scriptsig[i      +  1];
                                           +                 /* v2     +  block with nHeight in coin base */
                                           +                 return(height);
                                           +             }
                                           +         }
                                           +         /* Not found */
                                           +         return(-1);
                                           +     }    
                                           +    
                                          

                                          Bitcoin code replaced.

                                           +    void print() const; 
                                          

                                          Position change?

                                          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/db.cpp

                                            ACP and neoscrypt commit

                                             -    dbenv.set_lk_max_objects(40000);
                                            
                                             +    dbenv.set_lk_max_locks(200000);
                                            
                                             +    dbenv.set_lk_max_objects(200000); //from 0.8.7
                                            

                                            Bitcoin code replaced.

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