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

    [Dev] Documenting Feathercoin Specific Software settings - Part 1

    Technical Development
    2
    84
    24301
    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/30516a6ce8d723cc3d8eb624e2d30431843f01a0

      wallet.h

        +// -paytxfee default
        +static const int64_t DEFAULT_TRANSACTION_FEE = 0;
      

      Additional

        +static const int nHighTransactionFeeWarning = 0.05 * COIN;
      

      Bitcoin code replaced

         -        nWalletVersion = FEATURE_BASE;
         -        nWalletMaxVersion = FEATURE_BASE;
         -        fFileBacked = false;
         -        nMasterKeyMaxID = 0;
         -        pwalletdbEncryption = NULL;
         -        nOrderPosNext = 0;
         -        nNextResend = 0;
         -        nLastResend = 0;
      
        -        nWalletVersion = FEATURE_BASE;
        -        nWalletMaxVersion = FEATURE_BASE;
      

      Bitcoin code removed

        +        SetNull();
      

      Scrypt interface additions set null function.

        +    }
        +    void SetNull()
        +    {
        +        nWalletVersion = FEATURE_BASE;
        +        nWalletMaxVersion = FEATURE_BASE;
        +        fFileBacked = false;
      
        +        nTimeFirstKey = 0;
      

      Scrypt interface code added

       +   bool LoadCScript(const CScript& redeemScript);
      

      Bitcoin code replaced.

       +  READWRITE(LIMITED_STRING(strComment, 65536));
      
       +   READWRITE(LIMITED_STRING(strOtherAccount, 65536));
      
       +    READWRITE(LIMITED_STRING(strComment, 65536));
      

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

        https://github.com/FeatherCoin/Feathercoin/commit/30516a6ce8d723cc3d8eb624e2d30431843f01a0

        walletdb.cpp

           -            if (CheckTransaction(wtx, state) && (wtx.GetHash() == hash) && state.IsValid())
           -                wtx.BindWallet(pwallet);
           -            else
                     return false;
                     return false;
        
        
           -            // Undo serialize changes in 31600
           -            if (31404 <= wtx.fTimeReceivedIsTxTime && wtx.fTimeReceivedIsTxTime <= 31703)
           -            {
           -                if (!ssValue.empty())
           -                {
           -                    char fTmp;
           -                    char fUnused;
           -                    ssValue >> fTmp >> fUnused >> wtx.strFromAccount;
           -                    strErr = strprintf("LoadWallet() upgrading tx ver=%d %d '%s' %s",
           -                                       wtx.fTimeReceivedIsTxTime, fTmp, wtx.strFromAccount, hash.ToString());
           -                    wtx.fTimeReceivedIsTxTime = fTmp;
           -                }
           -                else
           -                {
           -                    strErr = strprintf("LoadWallet() repairing tx ver=%d %s", wtx.fTimeReceivedIsTxTime, hash.ToString());
           -                    wtx.fTimeReceivedIsTxTime = 0;
           -                }
           -                wss.vWalletUpgrade.push_back(hash);
           -            }
           -
        

        Bitcoin code removed

            +            if (!(CheckTransaction(wtx, state) && (wtx.GetHash() == hash) && state.IsValid()))
        

        Scrypt code replaces

           -    // Rewrite encrypted wallets of versions 0.4.0 and 0.5.0rc:
           -    if (wss.fIsEncrypted && (wss.nFileVersion == 40000 || wss.nFileVersion == 50000))
           -        return DB_NEED_REWRITE;
           -
        

        Bitcoin Code removed

          -    RenameThread("bitcoin-wallet");
         +    RenameThread("feathercoin-wallet");
        

        Bitcoin code replaced

         -    LogPrintf("Salvage(aggressive) found %"PRIszu" records\n", salvagedData.size());
         +    LogPrintf("Salvage(aggressive) found %u records\n", salvagedData.size());
        

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

          https://github.com/FeatherCoin/Feathercoin/commit/89e49238366fd9597ca3f8e5b2711f48e402372b

          chainparams.cpp

          -   base58Prefixes[PUBKEY_ADDRESS] = list_of(0);
          +    //how to do feathercoin ?
          +   base58Prefixes[PUBKEY_ADDRESS] = list_of(14); // FeatherCoin addresses start with F
          

          Feathercoin address setting

           -  base58Prefixes[PUBKEY_ADDRESS] = list_of(111);
           + base58Prefixes[PUBKEY_ADDRESS] = list_of(65);
          
            // Boost sucks, and should not be used. Workaround for Boost not being compatible with C++11;
          
          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.*

            https://github.com/FeatherCoin/Feathercoin/commit/89e49238366fd9597ca3f8e5b2711f48e402372b

            src/qt/askpassphrasedialog.cpp

            +                 tr("Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR FEATHERCOINS</b>!") + "<br><br>" + tr("Are you sure you wish to encrypt your wallet?"),
            
            +                                         tr("Feathercoin will close now to finish the encryption process. "
            
            +                                         "your feathercoins from being stolen by malware infecting your computer.") +
            

            Name change interface

            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/89e49238366fd9597ca3f8e5b2711f48e402372b

              src/qt/bitcoingui.cpp

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

              Update copyright

                +    
                +    QPalette palette;
                +    palette.setBrush(QPalette::Background,QBrush(QPixmap(":/images/mainbg")));
                +    this->setPalette(palette);
                +    this->setAutoFillBackground(true);    
              
                +    
                +    accountReportAction = new QAction(QIcon(":/icons/account-report"), tr("&Report"), this);
                +    accountReportAction->setStatusTip(tr("Get my account report"));
                +    accountReportAction->setToolTip(accountReportAction->statusTip());
                +    accountReportAction->setCheckable(true);
                +    accountReportAction->setShortcut(QKeySequence(Qt::ALT       + Qt::Key_5));
                +    tabGroup->addAction(accountReportAction);    
              
                +    connect(accountReportAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized()));
                +    connect(accountReportAction, SIGNAL(triggered()), this, SLOT(gotoAccountReportPage()));    
              

              Interface addition scrypt

               +        aboutAction = new QAction(QIcon(":/icons/bitcoin"), tr("&About Feathercoin Core"), this);
              
               +        aboutAction = new QAction(QIcon(":/icons/bitcoin_testnet"), tr("&About Feathercoin Core"), this);
              
               +    aboutAction->setStatusTip(tr("Show information about Feathercoin"));
              
               +    signMessageAction->setStatusTip(tr("Sign messages with your Feathercoin addresses to prove you own them"));
              
               +    verifyMessageAction->setStatusTip(tr("Verify messages to ensure they were signed with specified Feathercoin addresses"));
              

              Bitcoin Code replaced

               +        toolbar->addAction(accountReportAction);
              
               +    accountReportAction->setEnabled(enabled);
              
                +void BitcoinGUI::gotoAccountReportPage()
                +{
                +		accountReportAction->setChecked(true);
                +    if (walletFrame) walletFrame->gotoAccountReportPage();
                +}
                +
              

              Additional code

               +    labelConnectionsIcon->setToolTip(tr("%n active connection(s) to Feathercoin network", "", count));
              

              Replace Bitcoin code

               +    QString strTitle = tr("Feathercoin"); // default title
              
              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.*

                https://github.com/FeatherCoin/Feathercoin/commit/89e49238366fd9597ca3f8e5b2711f48e402372b

                src/qt/bitcoingui.h

                 +    QAction *accountReportAction;
                

                Addition

                 +    void setNumBlocks(int count);
                
                 +    /** Switch to account report page */
                 +    void gotoAccountReportPage();
                 +    
                

                Bitcoincode replace scrypt interface

                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/89e49238366fd9597ca3f8e5b2711f48e402372b

                  src/qt/clientmodel.cpp

                   +#include "rpcserver.h"
                  

                  Include added

                   +    cachedNumBlocks(0),
                  

                  Bitcoin code replaced.

                  +    LOCK(cs_main);
                  
                   +double ClientModel::getCurrDifficulty() const
                   +{
                   +    return (double)GetDifficulty();
                  +} 
                  +
                  

                  Code added.

                    +    LOCK(cs_main);
                  
                    +    // Get required lock upfront. This avoids the GUI from getting stuck on
                    +    // periodical polls if the core is holding the locks for a longer time -
                    +    // for example, during a wallet rescan.
                    +    TRY_LOCK(cs_main, lockMain);
                    +    if(!lockMain)
                    +        return;
                  

                  Locks added.

                    -    int newNumBlocksOfPeers = getNumBlocksOfPeers();
                  

                  Bitcoin code removed

                    +    if (cachedNumBlocks != newNumBlocks ||
                  
                   +        emit numBlocksChanged(newNumBlocks);
                  

                  Bitcoin code replaced

                     -int ClientModel::getNumBlocksOfPeers() const
                     -{
                     -    return GetNumBlocksOfPeers();
                     -}
                     -
                  

                  Code added.

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

                    https://github.com/FeatherCoin/Feathercoin/commit/89e49238366fd9597ca3f8e5b2711f48e402372b

                    src/qt/clientmodel.h

                     -    //! Return conservative estimate of total number of blocks, or 0 if unknown
                    -    int getNumBlocksOfPeers() const;
                    
                    -    int cachedNumBlocksOfPeers;
                    

                    Bitcoin code removed

                    +    // Return Current block
                    +    double getCurrDifficulty() const;    
                    

                    Code added

                     +    void numBlocksChanged(int count);
                    

                    Bitcoin code replaced

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

                      https://github.com/FeatherCoin/Feathercoin/commit/89e49238366fd9597ca3f8e5b2711f48e402372b

                      src/qt/feathercoin.qrc

                      + <file alias="account-report">res/icons/account-report.png</file>
                      + <file alias="mainlogo">res/images/LOGO.png</file>
                      
                      + <file alias="mainbg">res/images/mainbg.png</file>
                      

                      Additional image files are defined.

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

                        https://github.com/FeatherCoin/Feathercoin/commit/89e49238366fd9597ca3f8e5b2711f48e402372b

                        src/qt/forms/aboutdialog.ui

                        Further changes are made in later commits. Name and directory interface changes to definitions.

                        +   <string>About Feathercoin Core</string>
                        
                        +   <pixmap>:/images/about</pixmap>
                        
                        +   <string>&lt;b&gt;Feathercoin Core&lt;/b&gt; version</string>
                        
                        +   <string notr="true">0.9.3-Standard</string>
                        

                        Bitcoin code replaced

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

                          https://github.com/FeatherCoin/Feathercoin/commit/89e49238366fd9597ca3f8e5b2711f48e402372b

                          src/qt/forms/helpmessagedialog.ui

                          Help message dialog customizations in GUI. Further commits.

                          +  <height>327</height>
                          
                          +  <string>Feathercoin Core - Command-line options</string>
                          
                          +  <pixmap>:/images/about</pixmap>
                          
                          +  <pixmap>:/images/about</pixmap>
                          
                          +   <width>748</width>
                          +   <height>276</height>
                          

                          Bitcoin code replaced

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

                            https://github.com/FeatherCoin/Feathercoin/commit/89e49238366fd9597ca3f8e5b2711f48e402372b

                            src/qt/forms/overviewpage.ui

                            overviewpage message dialog customizations in GUI. Further commits. Note, that changes are usually made to the GUI via the Qt creator IDE.

                            Large sections of this file have been updated - Review how to handle Qt layout file updates?

                            +    <height>344</height>
                            

                            Bitcoin code replaced

                             -    <widget class="QFrame" name="frame">
                            

                            Bitcoin code removed

                              +    <widget class="QLabel" name="labelMainlogo">
                              +     <property name="text">
                              +      <string/>
                              +     </property>
                              +     <property name="pixmap">
                              +      <pixmap resource="../feathercoin.qrc">:/images/mainlogo</pixmap>
                              +     </property>
                              +     <property name="alignment">
                              +      <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
                              +     </property>
                              +    </widget>
                              +   </item>
                              +   <item>
                              +    <widget class="QLabel" name="labelOverviewPage">
                              +     <property name="font">
                              +      <font>
                              +       <family>Arial Rounded MT Bold</family>
                              +       <pointsize>11</pointsize>
                              +       <weight>50</weight>
                              +       <bold>false</bold>
                              +      </font>
                              +     </property>
                              +     <property name="text">
                              +      <string>OverviewPage</string>
                              +     </property>
                              +     <property name="alignment">
                              +      <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
                              +     </property>
                              +    </widget>
                              +   </item>
                              +   <item>
                              +    <widget class="QLabel" name="labelOverview1">
                              +     <property name="text">
                              +      <string>Feathercoin</string>
                              +     </property>
                              +    </widget>
                              +   </item>
                              +   <item>
                              +    <widget class="QLabel" name="labelOverview2">
                              +     <property name="text">
                              +      <string>Feathercoin</string>
                              +     </property>
                              +    </widget>
                              +   </item>
                              +   <item>
                              +    <spacer name="verticalSpacer">
                              +     <property name="orientation">
                              +      <enum>Qt::Vertical</enum>
                              +     </property>
                              +     <property name="sizeHint" stdset="0">
                              +      <size>
                              +       <width>20</width>
                              +       <height>40</height>
                              +      </size>
                              +     </property>
                              +    </spacer>
                              +   </item>
                              +  </layout>
                              + </item>
                              + <item>
                              +  <layout class="QVBoxLayout" name="verticalLayout_3">
                              +   <item>
                              +    <widget class="QFrame" name="frame_2">
                            

                            Code for Feathercoin background image?, from Dogecoin?

                            +     <layout class="QVBoxLayout" name="verticalLayout">
                            

                            Bitcoin code replaced

                               -       <layout class="QHBoxLayout" name="horizontalLayout_3">
                               -       <item>
                               -       <layout class="QFormLayout" name="formLayout_2">
                               -       <property name="fieldGrowthPolicy">
                               -       <enum>QFormLayout::AllNonFixedFieldsGrow</enum>
                               -       </property>
                               -       <property name="horizontalSpacing">
                               -       <number>12</number>
                            

                            Bitcoin code removed

                              +       <widget class="QFrame" name="frame">
                              +        <property name="frameShape">
                              +         <enum>QFrame::StyledPanel</enum>
                            

                            Code added

                              + <resources>
                             +  <include location="../feathercoin.qrc"/>
                             + </resources>
                            

                            Additonal code, after long section of code replacement, with FTC layout.

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

                              https://github.com/FeatherCoin/Feathercoin/commit/89e49238366fd9597ca3f8e5b2711f48e402372b

                              src/qt/overviewpage.cpp

                              overviwpage.cpp integrates with the ui file.

                               +    int shareBalance=0; //Ready for POS
                              

                              Additional code scrypt interface.

                              [FAQ] What is POS?

                              Proof of share or POS. An transaction algorythm that pays wallets based on their exposed contents, in addition or instead of POW (proof of work).

                              +    ui->labelShare->setText(BitcoinUnits::formatWithUnit(unit, shareBalance));
                              

                              Additional code

                                 -    // only show immature (newly mined) balance if it's non       -zero, so as not to complicate things
                                 -    // for the non       -mining users
                                 -    bool showImmature = immatureBalance != 0; 
                              

                              Bitcoin code removed

                               + bool showImmature =true; 
                              

                              Replaced Bitcoin code

                               +    
                               + setOverview();
                               + }
                               +
                               + void OverviewPage::setOverview()
                               + {
                               +   ui->labelOverview1->setText(tr("Current Block :")+tr(" %1 ").arg(clientModel->getNumBlocks()));
                               +   ui->labelOverview2->setText(tr("Current Difficulty :")+tr(" %1").arg(clientModel->getCurrDifficulty()));
                              

                              Additional code

                              +   // Show RPC information when blocks had changed
                              +   connect(model, SIGNAL(numBlocksChanged(int)), this, SLOT(setOverview()));
                              

                              Additional code

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

                                https://github.com/FeatherCoin/Feathercoin/commit/89e49238366fd9597ca3f8e5b2711f48e402372b

                                src/qt/overviewpage.h

                                overviwpage.h integrates with the ui file.

                                +    void setOverview();
                                

                                Additional code

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

                                  https://github.com/FeatherCoin/Feathercoin/commit/89e49238366fd9597ca3f8e5b2711f48e402372b

                                  src/qt/reportview.cpp

                                  New file with the FTC reports update in? 500 llines code.

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

                                    https://github.com/FeatherCoin/Feathercoin/commit/89e49238366fd9597ca3f8e5b2711f48e402372b

                                    src/qt/reportview.h

                                    New file containing FTC reports addon. 91 lines code.

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

                                      https://github.com/FeatherCoin/Feathercoin/commit/89e49238366fd9597ca3f8e5b2711f48e402372b

                                      src/qt/rpcconsole.cpp

                                       -   setNumBlocks(model       ->getNumBlocks(), model       ->getNumBlocksOfPeers());
                                       -   connect(model, SIGNAL(numBlocksChanged(int,int)), this, SLOT(setNumBlocks(int,int)));
                                      

                                      Bitcoin code replaced

                                       +   setNumBlocks(model       ->getNumBlocks());
                                       +   connect(model, SIGNAL(numBlocksChanged(int)), this, SLOT(setNumBlocks(int)));
                                      

                                      Bitcoin code replaced

                                       +  message(CMD_REPLY, (tr("Welcome to the Feathercoin RPC console.") + "<br>" +
                                      

                                      name change, Bitcoin code replaced.

                                      - void RPCConsole::setNumBlocks(int count, int countOfPeers)
                                      
                                      -    // If there is no current countOfPeers available display N/A instead of 0, which can't ever be true
                                      -    ui->totalBlocks->setText(countOfPeers == 0 ? tr("N/A") : QString::number(countOfPeers));
                                      

                                      Bitcoin code removed

                                      + void RPCConsole::setNumBlocks(int count)
                                      

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

                                        https://github.com/FeatherCoin/Feathercoin/commit/89e49238366fd9597ca3f8e5b2711f48e402372b

                                        src/qt/signverifymessagedialog.cpp

                                        +  ui->addressIn_VM->setPlaceholderText(tr("Enter a Feathercoin address (e.g. 6djzFXtrfK8axEpEhSPe5o7YgJ16gFjSw7)"));
                                        

                                        Name change, Bitcoin code replaced

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

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

                                          https://github.com/FeatherCoin/Feathercoin/commit/89e49238366fd9597ca3f8e5b2711f48e402372b

                                          src/qt/splashscreen.cpp

                                          Layout of splash screen has been updated, use latest file.

                                          +    pixPaint.drawText(newPixmap.width()-titleTextWidth-paddingRight+44,paddingTop,titleText);
                                          
                                          +    pixPaint.drawText(newPixmap.width()-titleTextWidth-paddingRight+2+58,paddingTop+titleVersionVSpace,versionText);
                                          
                                          +    pixPaint.drawText(newPixmap.width()-titleTextWidth-paddingRight+64,paddingTop+titleCopyrightVSpace,copyrightText);
                                          

                                          Layout adjustments Bitcoin code replaced

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

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

                                            https://github.com/FeatherCoin/Feathercoin/commit/89e49238366fd9597ca3f8e5b2711f48e402372b

                                            src/qt/utilitydialog.cpp

                                            This file has further updates. Compare with latest.

                                            +    ui->copyrightLabel->setText(tr("Copyright") + QString(" &copy; 2013-%1 ").arg(COPYRIGHT_YEAR) + tr("The Feathercoin Core developers"));
                                            

                                            Replace Bitcoin code name change, auto at compile time?

                                            + header = tr("Feathercoin Core") + " " + tr("version") + " " +
                                            
                                            +   "  feathercoin-qt [" + tr("command-line options") + "]                     " + "\n";
                                            
                                            +   tr("Feathercoin Core is shutting down...") + "<br /><br />" +
                                            

                                            Name change Bitcoin code replaced

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