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

    [Dev] Documenting Feathercoin Specific Software settings - Part 3

    Technical Development
    1
    33
    7053
    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.*

      Fix lost files / compile error 3- commit

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

      src/netbase.cpp

       -    if(chainActive.Height() != cachedNumBlocks)
       -#ifdef USE_IPV6
           aiHint.ai_family = AF_UNSPEC;
       -#else
       -    aiHint.ai_family = AF_INET;
       -#endif
      

      Remove ifdef from just IPv6

      #ifdef USE_IPV6
      if (aiTrav->ai_family == AF_INET6)

      Remove ifdef from just IPv6

       -            if (ret)
       +            if (ret) {
       +                closesocket(hSocket);
      

      Replaced if ret true code

       - #ifdef USE_IPV6
               struct sockaddr_storage sockaddr;
      

      Remove ifdef from just IPv6

        +                LogPrintf("select() for %s failed: %s\n", addrConnect.ToString(), NetworkErrorString(WSAGetLastError()));
      
       +                LogPrintf("connect() to %s failed after select(): %s\n", addrConnect.ToString(), NetworkErrorString(nRet));
      
       +            LogPrintf("connect() to %s failed: %s\n", addrConnect.ToString(), NetworkErrorString(WSAGetLastError()));
      

      Log print interface replace

        +       closesocket(hSocket);
      

      Additional code

       +        case 4:
       +            closesocket(hSocket);
       +            return false;
      

      Case 4 socket code updated

       -#ifdef USE_IPV6
           CNetAddr::CNetAddr(const struct in6_addr& ipv6Addr)
      
       -#ifdef USE_IPV6
           struct sockaddr_storage sockaddr;
      
       -#ifdef USE_IPV6
          bool CNetAddr::GetIn6Addr(struct in6_addr* pipv6Addr) const
      
        -#ifdef USE_IPV6
          CService::CService(const struct in6_addr& ipv6Addr, unsigned short portIn) : CNetAddr(ipv6Addr), port(portIn)
      
        -#ifdef USE_IPV6
           CService::CService(const struct sockaddr_in6 &addr) : 
      
       -#ifdef USE_IPV6
          case AF_INET6:
                  *this = CService(*(const struct sockaddr_in6*)paddr);
      
         -#ifdef USE_IPV6
              if (IsIPv6()) {
                 if (*addrlen < (socklen_t)sizeof(struct sockaddr_in6))
      

      Remove ifdef from just IPv6

       + 
       + #ifdef WIN32
       + std::string NetworkErrorString(int err)
       + {
       +     char buf[256];
       +     buf[0] = 0;
       +     if(FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS | FORMAT_MESSAGE_MAX_WIDTH_MASK,
       +             NULL, err, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
       +             buf, sizeof(buf), NULL))
       +     {
       +         return strprintf("%s (%d)", buf, err);
       +     }
       +     else
       +     {
       +         return strprintf("Unknown error (%d)", err);
       +     }
       + }
       + #else
       + std::string NetworkErrorString(int err)
       + {
       +     char buf[256];
       +     const char *s = buf;
       +     buf[0] = 0;
       +     /* Too bad there are two incompatible implementations of the
       +      * thread-safe strerror. */
       + #ifdef STRERROR_R_CHAR_P /* GNU variant can return a pointer outside the passed buffer */
       +     s = strerror_r(err, buf, sizeof(buf));
       + #else /* POSIX variant always returns message in buffer */
       +     (void) strerror_r(err, buf, sizeof(buf));
       + #endif
       +     return strprintf("%s (%d)", s, err);
       + }
       + #endif
       + 
      

      Additional code error handling

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

        update GUICONSTANTS

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

        src/qt/guiconstants.h

         + #define QAPP_ORG_NAME "Feathercoin"
         + #define QAPP_ORG_DOMAIN "feathercoin.com"
         + #define QAPP_APP_NAME_DEFAULT "Feathercoin-Qt"
         + #define QAPP_APP_NAME_TESTNET "Feathercoin-Qt-testnet"
        

        Code replaced Feathercoin name 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.*

          update SECRET_KEY commit

          https://github.com/FeatherCoin/Feathercoin/commit/6b63d986fc8389b1dd73d450406e731f2a0fc679

          src/chainparams.cpp

           +         base58Prefixes[SECRET_KEY] =     list_of(142);// 14     + 128
           +         base58Prefixes[EXT_PUBLIC_KEY] = list_of(0x04)(0x88)(0xBC)(0x26);
           +         base58Prefixes[EXT_SECRET_KEY] = list_of(0x04)(0x88)(0xDA)(0xEE);
          

          Replace Bitcoin code

           +        base58Prefixes[SECRET_KEY]     = list_of(193);//65+128
          

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

            update SECRET_KEY commit

            https://github.com/FeatherCoin/Feathercoin/commit/6b63d986fc8389b1dd73d450406e731f2a0fc679

            src/rpcmisc.cpp

              +   "1. \"bitcoinaddress\"  (string, required) The bitcoin address to use for the signature.\n"
            

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

              update SECRET_KEY commit

              https://github.com/FeatherCoin/Feathercoin/commit/6b63d986fc8389b1dd73d450406e731f2a0fc679

              src/rpcwallet.cpp

               +    "\"feathercoinaddress\"  (string) A feathercoin address associated with the keys.\n"
              
              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.*

                fix MIN_PEER_PROTO_VERSION

                https://github.com/FeatherCoin/Feathercoin/commit/85a6a4a9e2b0cf9c6e57957ced258bff3322e1a6

                src/version.h

                      // disconnect from peers older than this proto version
                  + static const int MIN_PEER_PROTO_VERSION = 60007;
                

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

                  team working with Bitmessage

                  https://github.com/FeatherCoin/Feathercoin/commit/78699b2fa3b63e225f2dd90944bee04dbd8124d0

                  src/qt/bitcoingui.cpp

                  FTC link to BitMessage. Other fixes later

                   + #include <QProcess>
                  

                  Additional code

                   +     
                   +     bitmessageAction = new QAction(QIcon(":/icons/bitmessage"), tr("Run B&itmessage..."), this);
                   +     bitmessageAction->setStatusTip(tr("Start Bitmessage from feathercoin wallett"));
                   +     bitmessageAction->setShortcut(QKeySequence(Qt::ALT      +  Qt::Key_7));
                  

                  Additional code

                   +    connect(bitmessageAction, SIGNAL(triggered()), this, SLOT(openBitmessageClicked()));
                  

                  Additional code

                   -   advanced->addSeparator();
                  

                  Code removed

                   +   bitmessageAction->setEnabled(enabled);
                  
                   + void BitcoinGUI::openBitmessageClicked()
                   + {
                   +     QProcess *process = new QProcess;
                   +     QString program="./bitmessagemain";
                   +     QStringList arguments;
                   +     arguments << "";
                   +     process->start(program,arguments);
                   + }
                   + 
                  

                  Additional code

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

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

                    team working with Bitmessage

                    https://github.com/FeatherCoin/Feathercoin/commit/78699b2fa3b63e225f2dd90944bee04dbd8124d0

                    src/qt/bitcoingui.h

                     +    QAction *bitmessageAction;
                    

                    Code added

                     +    /** Start Bitmessage Process */
                     +    void openBitmessageClicked();
                    

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

                      team working with Bitmessage

                      https://github.com/FeatherCoin/Feathercoin/commit/78699b2fa3b63e225f2dd90944bee04dbd8124d0

                      src/qt/transactionview.cpp

                       +#include <QProcess>
                      

                      Code added

                       +    QAction *sendMesslAction = new QAction(tr("Send transaction to Bitmessage"), this);
                      
                      
                       +    contextMenu->addAction(sendMesslAction);
                      
                       +    connect(sendMesslAction, SIGNAL(triggered()), this, SLOT(sendMess()));
                      
                            + void TransactionView::sendMess()
                       + {
                       +     if(!transactionView->selectionModel())
                       +         return;
                       +     QModelIndexList selection = transactionView->selectionModel()->selectedRows();
                       +     if(!selection.isEmpty())
                       +     {
                       +     		QString address = selection.at(0).data(TransactionTableModel::AddressRole).toString();
                       +     		QString amount = selection.at(0).data(TransactionTableModel::FormattedAmountRole).toString();
                       +     		QString txid = selection.at(0).data(TransactionTableModel::TxIDRole).toString();
                       +     		QString txDesc="Sent "     + amount     + " FTC to you, TransactionID="     + txid;
                       +     		
                       +         QProcess *process = new QProcess;
                       +         QString program="./bitmessagemain ";
                       +         QStringList arguments;
                       +         arguments << amount << txid << txDesc;
                       +         process->start(program,arguments);
                       +     }
                       + }
                       + 
                      

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

                        team working with Bitmessage

                        https://github.com/FeatherCoin/Feathercoin/commit/78699b2fa3b63e225f2dd90944bee04dbd8124d0

                        src/qt/transactionview.h

                         +    void sendMess();
                        

                        additional code

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