From a0d9a4e6559c1ab24765943df69f063ea4906b33 Mon Sep 17 00:00:00 2001 From: dbkeys Date: Sat, 23 Jun 2018 11:29:11 -0700 Subject: [PATCH] Bump Network Protocol ---> 70003; Bump Build Version v0.9.7.1 --- README.md | 4 ++-- configure.ac | 4 ++-- doc/README.md | 7 +++---- src/clientversion.h | 4 ++-- src/main.cpp | 4 +++- src/rpcmisc.cpp | 17 +++++++++++++++++ src/version.h | 5 ++++- 7 files changed, 33 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 4a6ce0a696..0e0d339b0f 100644 --- a/README.md +++ b/README.md @@ -47,13 +47,13 @@ rpcpassword=YoUrSecreT-PaSsWoRd listen=1 -##Note: Daniel J. Bernstein's libsodium cryptographic library is requred by Bitmark v0.9.7 +##Note: libsodium cryptographic library is required by Bitmark v0.9.7 Ubuntu 16 and higher may simply do: sudo apt-get install libsodium-dev -otherwise, you may have to compile this library from scratch: +otherwise, you may compile this library from sources:: git clone git://github.com/jedisct1/libsodium.git cd libsodium diff --git a/configure.ac b/configure.ac index 2d53f3b3e3..1ed6f04c5b 100644 --- a/configure.ac +++ b/configure.ac @@ -3,9 +3,9 @@ AC_PREREQ([2.60]) define(_CLIENT_VERSION_MAJOR, 0) define(_CLIENT_VERSION_MINOR, 9) define(_CLIENT_VERSION_REVISION, 7) -define(_CLIENT_VERSION_BUILD, 0) +define(_CLIENT_VERSION_BUILD, 1) define(_CLIENT_VERSION_IS_RELEASE, true) -define(_COPYRIGHT_YEAR, 2017) +define(_COPYRIGHT_YEAR, 2018) AC_INIT([Bitmark Core],[_CLIENT_VERSION_MAJOR._CLIENT_VERSION_MINOR._CLIENT_VERSION_REVISION],[info@bitmark.org],[bitmark]) AC_CONFIG_AUX_DIR([src/build-aux]) AC_CONFIG_MACRO_DIR([src/m4]) diff --git a/doc/README.md b/doc/README.md index e8d943b8a1..4132937728 100644 --- a/doc/README.md +++ b/doc/README.md @@ -1,4 +1,4 @@ -Bitmark 0.9.5 BETA +Bitmark 0.9.7.1 BETA ===================== Copyright (c) 2009-2018 Bitmark Developers @@ -6,7 +6,7 @@ Copyright (c) 2009-2018 Bitmark Developers Setup --------------------- -[Bitmark Core](http://bitmark.io/en/download) is the original Bitmark client and it builds the backbone of the network. It downloads and stores the entire history of Bitmark transactions (as of December 2017, less than 1 GiB of data); depending on the speed of your computer and network connection, the synchronization process can take anywhere from a few hours to a day or more. Thankfully you only have to do this once. If you would like the process to go faster you can [download the blockchain directly](bootstrap.md). +[Bitmark Core](http://bitmark.io/en/download) is the original Bitmark client and it builds the backbone of the network. It downloads and stores the entire history of Bitmark transactions (as of June 2018, less than 1 GiB of data); depending on the speed of your computer and network connection, the synchronization process can take anywhere from a few hours to a day or more. Thankfully you only have to do this once. If you would like the process to go faster you can [download the blockchain directly](bootstrap.md). Running --------------------- @@ -71,5 +71,4 @@ The Bitmark repo's [root README](https://github.com/project-bitmark/bitmark/blob License --------------------- Distributed under the [MIT/X11 software license](http://www.opensource.org/licenses/mit-license.php). -This product includes software developed by the OpenSSL Project for use in the [OpenSSL Toolkit](http://www.openssl.org/). This product includes -cryptographic software written by Eric Young ([eay@cryptsoft.com](mailto:eay@cryptsoft.com)), and UPnP software written by Thomas Bernard. +This product includes software developed by the OpenSSL Project for use in the [OpenSSL Toolkit](http://www.openssl.org/). This product includes cryptographic software written by Eric Young ([eay@cryptsoft.com](mailto:eay@cryptsoft.com)), and UPnP software written by Thomas Bernard. diff --git a/src/clientversion.h b/src/clientversion.h index bdb911d2b0..2f62104010 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -12,14 +12,14 @@ #define CLIENT_VERSION_MAJOR 0 #define CLIENT_VERSION_MINOR 9 #define CLIENT_VERSION_REVISION 7 -#define CLIENT_VERSION_BUILD 1 +#define CLIENT_VERSION_BUILD 2 // Set to true for release, false for prerelease (rc: release candidate) or test build #define CLIENT_VERSION_IS_RELEASE false // Copyright year (2009-this) -#define COPYRIGHT_YEAR 2017 +#define COPYRIGHT_YEAR 2018 #endif //HAVE_CONFIG_H diff --git a/src/main.cpp b/src/main.cpp index ea23d49f26..edf584a01b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1405,7 +1405,7 @@ unsigned int ComputeMinWork(unsigned int nBase, int64_t nTime) unsigned int static DarkGravityWave(const CBlockIndex* pindexLast, int algo) { - /* current difficulty formula, dash - DarkGravity v3, written by Evan Duffield - evan@dashpay.io */ + /* current difficulty formula, DASH - DarkGravity v3, written by Evan Duffield - evan@dashpay.io */ const CBlockIndex *BlockLastSolved = pindexLast; const CBlockIndex *BlockReading = pindexLast; int64_t nActualTimespan = 0; @@ -1609,6 +1609,7 @@ unsigned int GetNextWorkRequired(const CBlockIndex* pindexLast, int algo) workAlgo = 1; } + // workAlgo functions here as post_fork boolean; 0: pre-fork, 1: post-fork if (workAlgo == 0) { unsigned int nProofOfWorkLimit = Params().ProofOfWorkLimit().GetCompact(); @@ -1673,6 +1674,7 @@ unsigned int GetNextWorkRequired(const CBlockIndex* pindexLast, int algo) return bnNew.GetCompact(); } else { + // Post 8mPoW fork return DarkGravityWave(pindexLast,algo); } } diff --git a/src/rpcmisc.cpp b/src/rpcmisc.cpp index eedc758606..203cdd1443 100644 --- a/src/rpcmisc.cpp +++ b/src/rpcmisc.cpp @@ -581,6 +581,7 @@ Value chaindynamics(const Array& params, bool fHelp) "}\n" "\nResult:\n" "{\n" + " \"sdifficulty \": xxxxx (numeric),\n" " \"difficulty \": xxxxx (numeric),\n" " \"peak hashrate \": xxxxx (numeric),\n" " \"current hashrate \": xxxxx (numeric),\n" @@ -602,6 +603,22 @@ Value chaindynamics(const Array& params, bool fHelp) } Object obj; + obj.push_back(Pair("pow_algo_id", miningAlgo)); + obj.push_back(Pair("pow_algo",GetAlgoName(miningAlgo))); +// difficulty is weighted in Bitmark to more meaningfully compare relative values of competing chains +// boolean for weighted / unweighted -------v + obj.push_back(Pair("difficulty", (double)GetDifficulty(NULL,miningAlgo,true,true))); +// sdifficulty: the "simple", unweighted difficulty + obj.push_back(Pair("sdifficulty", (double)GetDifficulty(NULL,miningAlgo,false,true))); + obj.push_back(Pair("sdifficulty SCRYPT", (double)GetDifficulty(NULL,ALGO_SCRYPT,false,true))); + obj.push_back(Pair("sdifficulty SHA256D", (double)GetDifficulty(NULL,ALGO_SHA256D,false,true))); + obj.push_back(Pair("sdifficulty YESCRYPT", (double)GetDifficulty(NULL,ALGO_YESCRYPT,false,true))); + obj.push_back(Pair("sdifficulty ARGON2", (double)GetDifficulty(NULL,ALGO_ARGON2,false,true))); + obj.push_back(Pair("sdifficulty X17", (double)GetDifficulty(NULL,ALGO_X17,false,true))); + obj.push_back(Pair("sdifficulty LYRA2REv2", (double)GetDifficulty(NULL,ALGO_LYRA2REv2,false,true))); + obj.push_back(Pair("sdifficulty EQUIHASH", (double)GetDifficulty(NULL,ALGO_EQUIHASH,false,true))); + obj.push_back(Pair("sdifficulty CRYPTONIGHT", (double)GetDifficulty(NULL,ALGO_CRYPTONIGHT,false,true))); + obj.push_back(Pair("difficulty SCRYPT", (double)GetDifficulty(pindex,ALGO_SCRYPT))); obj.push_back(Pair("difficulty SHA256D", (double)GetDifficulty(pindex,ALGO_SHA256D))); obj.push_back(Pair("difficulty YESCRYPT", (double)GetDifficulty(pindex,ALGO_YESCRYPT))); diff --git a/src/version.h b/src/version.h index a80b594ce2..7d3e6b11c9 100644 --- a/src/version.h +++ b/src/version.h @@ -13,6 +13,8 @@ // client versioning // +// 90700 +// 90701x static const int CLIENT_VERSION = 1000000 * CLIENT_VERSION_MAJOR + 10000 * CLIENT_VERSION_MINOR @@ -27,7 +29,8 @@ extern const std::string CLIENT_DATE; // network protocol versioning // -static const int PROTOCOL_VERSION = 70002; +// Bump up to 70003 to easily discriminate earlier versions via DNS Seeder +static const int PROTOCOL_VERSION = 70003; // intial proto version, to be increased after version/verack negotiation static const int INIT_PROTO_VERSION = 209;