|
|
|
@ -4,7 +4,10 @@
|
|
|
|
|
|
|
|
|
|
#include "version.h"
|
|
|
|
|
|
|
|
|
|
#include "tinyformat.h"
|
|
|
|
|
|
|
|
|
|
#include <string>
|
|
|
|
|
#include <boost/algorithm/string/join.hpp>
|
|
|
|
|
|
|
|
|
|
// Name of client reported in the 'version' message. Report the same name
|
|
|
|
|
// for both bitcoind and bitcoin-qt, to make it harder for attackers to
|
|
|
|
@ -69,3 +72,28 @@ const std::string CLIENT_NAME("Satoshi");
|
|
|
|
|
|
|
|
|
|
const std::string CLIENT_BUILD(BUILD_DESC CLIENT_VERSION_SUFFIX);
|
|
|
|
|
const std::string CLIENT_DATE(BUILD_DATE);
|
|
|
|
|
|
|
|
|
|
static std::string FormatVersion(int nVersion)
|
|
|
|
|
{
|
|
|
|
|
if (nVersion%100 == 0)
|
|
|
|
|
return strprintf("%d.%d.%d", nVersion/1000000, (nVersion/10000)%100, (nVersion/100)%100);
|
|
|
|
|
else
|
|
|
|
|
return strprintf("%d.%d.%d.%d", nVersion/1000000, (nVersion/10000)%100, (nVersion/100)%100, nVersion%100);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
std::string FormatFullVersion()
|
|
|
|
|
{
|
|
|
|
|
return CLIENT_BUILD;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Format the subversion field according to BIP 14 spec (https://en.bitcoin.it/wiki/BIP_0014)
|
|
|
|
|
std::string FormatSubVersion(const std::string& name, int nClientVersion, const std::vector<std::string>& comments)
|
|
|
|
|
{
|
|
|
|
|
std::ostringstream ss;
|
|
|
|
|
ss << "/";
|
|
|
|
|
ss << name << ":" << FormatVersion(nClientVersion);
|
|
|
|
|
if (!comments.empty())
|
|
|
|
|
ss << "(" << boost::algorithm::join(comments, "; ") << ")";
|
|
|
|
|
ss << "/";
|
|
|
|
|
return ss.str();
|
|
|
|
|
}
|
|
|
|
|