mirror of
https://github.com/dashpay/dash.git
synced 2024-12-26 20:42:59 +01:00
341735eb8f
Many changes: * Do not use 'getblocks', but 'getheaders', and use it to build a headers tree. * Blocks are fetched in parallel from all available outbound peers, using a limited moving window. When one peer stalls the movement of the window, it is disconnected. * No more orphan blocks. At all. We only ever request a block for which we have verified the headers, and store it to disk immediately. This means that a disk-fill attack would require PoW. * Require protocol version 31800 for every peer (released in december 2010). * No more syncnode (we sync from everyone we can, though limited to 1 during initial *headers* sync). * Introduce some extra named constants, comments and asserts.
60 lines
1.8 KiB
C++
60 lines
1.8 KiB
C++
// Copyright (c) 2012 The Bitcoin developers
|
|
// Distributed under the MIT/X11 software license, see the accompanying
|
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
|
|
#ifndef BITCOIN_VERSION_H
|
|
#define BITCOIN_VERSION_H
|
|
|
|
#include "clientversion.h"
|
|
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
//
|
|
// client versioning
|
|
//
|
|
|
|
static const int CLIENT_VERSION =
|
|
1000000 * CLIENT_VERSION_MAJOR
|
|
+ 10000 * CLIENT_VERSION_MINOR
|
|
+ 100 * CLIENT_VERSION_REVISION
|
|
+ 1 * CLIENT_VERSION_BUILD;
|
|
|
|
extern const std::string CLIENT_NAME;
|
|
extern const std::string CLIENT_BUILD;
|
|
extern const std::string CLIENT_DATE;
|
|
|
|
//
|
|
// network protocol versioning
|
|
//
|
|
|
|
static const int PROTOCOL_VERSION = 70002;
|
|
|
|
// initial proto version, to be increased after version/verack negotiation
|
|
static const int INIT_PROTO_VERSION = 209;
|
|
|
|
// In this version, 'getheaders' was introduced.
|
|
static const int GETHEADERS_VERSION = 31800;
|
|
|
|
// disconnect from peers older than this proto version
|
|
static const int MIN_PEER_PROTO_VERSION = GETHEADERS_VERSION;
|
|
|
|
// nTime field added to CAddress, starting with this version;
|
|
// if possible, avoid requesting addresses nodes older than this
|
|
static const int CADDR_TIME_VERSION = 31402;
|
|
|
|
// only request blocks from nodes outside this range of versions
|
|
static const int NOBLKS_VERSION_START = 32000;
|
|
static const int NOBLKS_VERSION_END = 32400;
|
|
|
|
// BIP 0031, pong message, is enabled for all versions AFTER this one
|
|
static const int BIP0031_VERSION = 60000;
|
|
|
|
// "mempool" command, enhanced "getdata" behavior starts with this version
|
|
static const int MEMPOOL_GD_VERSION = 60002;
|
|
|
|
std::string FormatFullVersion();
|
|
std::string FormatSubVersion(const std::string& name, int nClientVersion, const std::vector<std::string>& comments);
|
|
|
|
#endif // BITCOIN_VERSION_H
|