35#define BUILD_DESC BUILD_GIT_TAG
36#define BUILD_SUFFIX ""
39 "v" STRINGIZE(CLIENT_VERSION_MAJOR) "." STRINGIZE( \
40 CLIENT_VERSION_MINOR) "." STRINGIZE(CLIENT_VERSION_REVISION)
41#ifdef BUILD_GIT_COMMIT
42#define BUILD_SUFFIX "-" BUILD_GIT_COMMIT
43#elif defined(GIT_COMMIT_ID)
44#define BUILD_SUFFIX "-g" GIT_COMMIT_ID
46#define BUILD_SUFFIX "-unk"
53 if (nVersion % 100 == 0) {
54 return strprintf(
"%d.%d.%d", nVersion / 1000000,
55 (nVersion / 10000) % 100, (nVersion / 100) % 100);
57 return strprintf(
"%d.%d.%d.%d", nVersion / 1000000,
58 (nVersion / 10000) % 100, (nVersion / 100) % 100,
72 const std::vector<std::string> &comments) {
73 std::ostringstream ss;
75 ss <<
name <<
":" << version;
76 if (!comments.empty()) {
77 std::vector<std::string>::const_iterator it(comments.begin());
79 for (++it; it != comments.end(); ++it) {
89 return strPrefix +
strprintf(
_(COPYRIGHT_HOLDERS).translated,
90 COPYRIGHT_HOLDERS_SUBSTITUTION);
94 const std::string URL_SOURCE_CODE =
95 "<https://github.com/Bitcoin-ABC/bitcoin-abc>";
96 const std::string URL_WEBSITE =
"<https://www.bitcoinabc.org>";
102 strprintf(
_(
"Please contribute if you find %s useful. "
103 "Visit %s for further information about the software.")
105 PACKAGE_NAME, URL_WEBSITE) +
107 strprintf(
_(
"The source code is available from %s.").translated,
109 "\n" +
"\n" +
_(
"This is experimental software.").
translated +
"\n" +
110 strprintf(
_(
"Distributed under the MIT software license, see the "
111 "accompanying file %s or %s")
113 "COPYING",
"<https://opensource.org/licenses/MIT>") +
115 strprintf(
_(
"This product includes software developed by the "
116 "OpenSSL Project for use in the OpenSSL Toolkit %s and "
117 "cryptographic software written by Eric Young and UPnP "
118 "software written by Thomas Bernard.")
120 "<https://www.openssl.org>") +
std::string CopyrightHolders(const std::string &strPrefix)
const std::string CLIENT_NAME("Bitcoin ABC")
Name of client reported in the 'version' message.
#define BUILD_DESC
git will put "#define GIT_COMMIT_ID ..." on the next line inside archives.
std::string FormatVersion(int nVersion)
std::string FormatFullVersion()
std::string LicenseInfo()
Returns licensing information (for -version)
const std::string CLIENT_BUILD(BUILD_DESC BUILD_SUFFIX)
std::string FormatUserAgent(const std::string &name, const std::string &version, const std::vector< std::string > &comments)
Format the subversion field according to BIP 14 spec.
bilingual_str _(const char *psz)
Translation function.