[Dev] Documenting Feathercoin Specific Software settings - Part 2
-
Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*
Add Implemented ACP and neoscrypt commit
https://github.com/FeatherCoin/Feathercoin/commit/c8ca4c906144910c62acd34e23a4ed624c0fbf7dsrc/neoscrypt.c
ACP and neoscrypt commit. Large New file
/* * Copyright (c) 2009 Colin Percival, 2011 ArtForz * Copyright (c) 2012 Andrew Moon (floodyberry) * Copyright (c) 2012 Samuel Neves <sneves@dei.uc.pt> * Copyright (c) 2014 John Doering <ghostlander@phoenixcoin.org> * All rights reserved. #include <stdlib.h> #include <stdint.h> #include <string.h> #include "neoscrypt.h"
Start of neoscrypt code
-
Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*
Add Implemented ACP and neoscrypt commit
https://github.com/FeatherCoin/Feathercoin/commit/c8ca4c906144910c62acd34e23a4ed624c0fbf7dsrc/neoscrypt.h
ACP and neoscrypt commit. Large New file
+ #if (__cplusplus) + extern "C" { + #endif + + void neoscrypt(const unsigned char *input, unsigned char *output, unsigned int profile); + + #if (__cplusplus) + } + #else + + #define SCRYPT_BLOCK_SIZE 64 + #define SCRYPT_HASH_BLOCK_SIZE 64 + #define SCRYPT_HASH_DIGEST_SIZE 32 + + typedef uint8_t hash_digest[SCRYPT_HASH_DIGEST_SIZE];
Start of new code.
-
Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*
Add Implemented ACP and neoscrypt commit
https://github.com/FeatherCoin/Feathercoin/commit/c8ca4c906144910c62acd34e23a4ed624c0fbf7dsrc/neoscrypt_asm.S
ACP and neoscrypt commit. Large New file
#if (ASM) && (__x86_64__) /* neoscrypt_blkcpy(dst, src, len) = SSE2 based block memcpy(); * len must be a multiple of 64 bytes aligned properly */ .globl neoscrypt_blkcpy neoscrypt_blkcpy: #if (WIN64) movq %rdi, %r10 movq %rsi, %r11 movq %rcx, %rdi movq %rdx, %rsi movq %r8, %rdx #endif
Start of code full file. 735 lines
-
Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*
Add Implemented ACP and neoscrypt commit
https://github.com/FeatherCoin/Feathercoin/commit/c8ca4c906144910c62acd34e23a4ed624c0fbf7dsrc/net.cpp
ACP and neoscrypt commit.
+ void CNode::PushGetBlocks(CBlockIndex* pindexBegin, uint256 hashEnd) + { + // main.h:PushGetBlocks(CNode* pnode, CBlockIndex* pindexBegin, uint256 hashEnd); + // Filter out duplicate requests + /*if (pindexBegin == pindexLastGetBlocksBegin && hashEnd == hashLastGetBlocksEnd) + return; + pindexLastGetBlocksBegin = pindexBegin; + hashLastGetBlocksEnd = hashEnd; + + PushMessage("getblocks", CBlockLocator(pindexBegin), hashEnd);*/ //'CBlockIndex*' to 'const CBlockLocator&' + } +
pindex code addition
+ for (int nHost = 1; nHost <= 2; nHost++)
Bitcoin Code replaced (seen this before?)
+ else if (nHost == 2) + { + addrConnect = CService("74.208.43.192", 80); // www.showmyip.com + + if (nLookup == 1) + { + CService addrIP("www.showmyip.com", 80, true); + if (addrIP.IsValid()) + addrConnect = addrIP; + } + + pszGet = "GET /simple/ HTTP/1.1\r\n" + "Host: www.showmyip.com\r\n" + "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)\r\n" + "Connection: close\r\n" + "\r\n"; + + pszKeyword = NULL; // Returns just IP address + }
Needs review. ACP site?
-
Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*
Add Implemented ACP and neoscrypt commit
https://github.com/FeatherCoin/Feathercoin/commit/c8ca4c906144910c62acd34e23a4ed624c0fbf7dsrc/net.h
ACP and neoscrypt commit.
+ /** The maximum number of entries in mapAskFor */ + static const size_t MAPASKFOR_MAX_SZ = MAX_INV_SZ;
Additional code
+ struct LocalServiceInfo { + int nScore; + int nPort; + }; + + extern CCriticalSection cs_mapLocalHost; + extern map<CNetAddr, LocalServiceInfo> mapLocalHost;
Additional code
- std::set<CAddress> setAddrKnown; + mruset<CAddress> setAddrKnown;
Bitcoin code replaced
+ uint256 hashCheckpointKnown; //ppcoin: known sent sync-checkpoint
Additional checkpoint code
- CNode(SOCKET hSocketIn, CAddress addrIn, std::string addrNameIn = "", bool fInboundIn=false) : ssSend(SER_NETWORK, INIT_PROTO_VERSION) + CNode(SOCKET hSocketIn, CAddress addrIn, std::string addrNameIn = "", bool fInboundIn=false) : ssSend(SER_NETWORK, INIT_PROTO_VERSION), setAddrKnown(5000)
Bitcoin code replaced
+ if (mapAskFor.size() > MAPASKFOR_MAX_SZ) + return; + + + void PushGetBlocks(CBlockIndex* pindexBegin, uint256 hashEnd);
Additional code
-
Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*
Add Implemented ACP and neoscrypt commit
https://github.com/FeatherCoin/Feathercoin/commit/c8ca4c906144910c62acd34e23a4ed624c0fbf7dsrc/qt/Makefile.am
ACP and neoscrypt commit.
+ forms/transactiondescdialog.ui \ + forms/merchantlist.ui
BBitcoin code replaced, new line.
+ moc_walletview.cpp \ + moc_reportview.cpp \ + moc_merchantlist.cpp
Directory positioning changed? Additional code
+ merchantlist.moc \
Additional code
+ winshutdownmonitor.h \ + reportview.h \ + merchantlist.h
Directory positioning changed? Additional code
+ res/icons/tx_mined.png \ + res/icons/merchantList.png \ + res/icons/openurl.png \ + res/icons/account-report.png
Directory positioning changed? Additional code
+ walletview.cpp \ + reportview.cpp \ + merchantlist.cpp
Directory positioning changed? Additional code
+ res/images/splash_testnet.png \ + res/images/LOGO.png \ + res/images/mainbg.png \ + res/images/about_bitcoin.png \ + res/images/about.png \ + res/images/feathercoinmap.png \ + res/images/bitcoinbazaar.co.uk.png \ + res/images/pockio.png \ + res/images/btc-e.png \ + res/images/bter.png \ + res/images/cm.png \ + res/images/cryptsy.png \ + res/images/ct.png \ + res/images/mc.png
Bitcoin Directory positioning changed? Additional code
-
Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*
Add Implemented ACP and neoscrypt commit
https://github.com/FeatherCoin/Feathercoin/commit/c8ca4c906144910c62acd34e23a4ed624c0fbf7dsrc/rpcserver.cpp
ACP and neoscrypt commit.
+ if (dAmount <= 0.0 || dAmount > 21000000*16)
Bitcoin code replaced
+ /* Wallet-ACP */ + { "getcheckpoint", &getcheckpoint, true, false, true }, + { "sendcheckpoint", &sendcheckpoint, true, false, true }, + { "enforcecheckpoint", &enforcecheckpoint, true, false, true },
Additional code checkpoints
-
Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*
Add Implemented ACP and neoscrypt commit
https://github.com/FeatherCoin/Feathercoin/commit/c8ca4c906144910c62acd34e23a4ed624c0fbf7dsrc/rpcserver.h
ACP and neoscrypt commit.
+ extern json_spirit::Value getcheckpoint(const json_spirit::Array& params, bool fHelp); // in checkpointsync.cpp + extern json_spirit::Value sendcheckpoint(const json_spirit::Array& params, bool fHelp); + extern json_spirit::Value enforcecheckpoint(const json_spirit::Array& params, bool fHelp);
Add checkpoint code
+ extern json_spirit::Value getblockchaininfo(const json_spirit::Array& params, bool fHelp); + extern json_spirit::Value getnetworkinfo(const json_spirit::Array& params, bool fHelp);
-
Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*
Add Implemented ACP and neoscrypt commit
https://github.com/FeatherCoin/Feathercoin/commit/c8ca4c906144910c62acd34e23a4ed624c0fbf7dsrc/txdb.cpp
ACP and neoscrypt commit.
+ return error("%s : Deserialize or I/O error - %s", __func__, e.what());
Bitcoin code replaced
+ return error("%s : Deserialize or I/O error - %s", __func__, e.what());
Bitcoin code replaced
+ + bool CBlockTreeDB::ReadSyncCheckpoint(uint256& hashCheckpoint) + { + return Read(string("hashSyncCheckpoint"), hashCheckpoint); + } + + bool CBlockTreeDB::WriteSyncCheckpoint(uint256 hashCheckpoint) + { + return Write(string("hashSyncCheckpoint"), hashCheckpoint); + } + + bool CBlockTreeDB::ReadCheckpointPubKey(string& strPubKey) + { + return Read(string("strCheckpointPubKey"), strPubKey); + } + + bool CBlockTreeDB::WriteCheckpointPubKey(const string& strPubKey) + { + return Write(string("strCheckpointPubKey"), strPubKey); + }
Additional checkpoint code.
-
Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*
Add Implemented ACP and neoscrypt commit
https://github.com/FeatherCoin/Feathercoin/commit/c8ca4c906144910c62acd34e23a4ed624c0fbf7dsrc/txdb.h
ACP and neoscrypt commit.
+ + // ppcoin sync checkpoint related data + bool ReadSyncCheckpoint(uint256& hashCheckpoint); + bool WriteSyncCheckpoint(uint256 hashCheckpoint); + bool ReadCheckpointPubKey(std::string& strPubKey); + bool WriteCheckpointPubKey(const std::string& strPubKey);
-
Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*
Add Implemented ACP and neoscrypt commit
https://github.com/FeatherCoin/Feathercoin/commit/c8ca4c906144910c62acd34e23a4ed624c0fbf7dsrc/uint256.h
ACP and neoscrypt commit.
+ typedef long long int64; + typedef unsigned long long uint64; +
Additional variables.
-
Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*
Add Implemented ACP and neoscrypt commit
https://github.com/FeatherCoin/Feathercoin/commit/c8ca4c906144910c62acd34e23a4ed624c0fbf7dsrc/util.cpp
ACP and neoscrypt commit.
+bool fNeoScrypt = false;
Addition neoscrypt variable.
-
Add Implemented ACP and neoscrypt commit
https://github.com/FeatherCoin/Feathercoin/commit/c8ca4c906144910c62acd34e23a4ed624c0fbf7dsrc/util.h
ACP and neoscrypt commit.
+extern bool fNeoScrypt;
Addition neoscrypt variable.