aboutsummaryrefslogtreecommitdiff
path: root/src/version.h
AgeCommit message (Collapse)Author
2015-11-29Allow block announcements with headersSuhas Daftuar
This replaces using inv messages to announce new blocks, when a peer requests (via the new "sendheaders" message) that blocks be announced with headers instead of inv's. Since headers-first was introduced, peers send getheaders messages in response to an inv, which requires generating a block locator that is large compared to the size of the header being requested, and requires an extra round-trip before a reorg can be relayed. Save time by tracking headers that a peer is likely to know about, and send a headers chain that would connect to a peer's known headers, unless the chain would be too big, in which case we revert to sending an inv instead. Based off of @sipa's commit to announce all blocks in a reorg via inv, which has been squashed into this commit. Rebased-by: Pieter Wuille
2015-09-05Add NODE_BLOOM service bit and bump protocol versionMatt Corallo
Lets nodes advertise that they offer bloom filter support explicitly. The protocol version bump allows SPV nodes to assume that NODE_BLOOM is set if NODE_NETWORK is set for pre-70011 nodes. Also adds an option to turn bloom filter support off for nodes which advertise a version number >= 70011. Nodes attempting to use bloom filters on such protocol versions are banned, and a later upgade should drop nodes of an older version which attempt to use bloom filters. Much code stolen from Peter Todd. Implements BIP 111
2014-12-19Added "Core" to copyright headerssandakersmann
Github-Pull: #5494 Rebased-From: 15de949bb9277e442302bdd8dee299a8d6deee60
2014-10-31Update comments in version to be doxygen compatibleMichael Ford
2014-10-29Separate protocol versioning from clientversionCory Fields
2014-10-14Headers-first synchronizationPieter Wuille
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.
2014-08-28add missing header end commentsPhilip Kaufmann
- ensures a consistent usage in header files - also add a blank line after the copyright header where missing - also remove orphan new-lines at the end of some files
2014-08-27Revert "Add a getutxos command to the p2p protocol. It allows querying of ↵Wladimir J. van der Laan
the UTXO set" This reverts commit da2ec100f3681176f60dec6dc675fc64147ade3a.
2014-08-26Move `*Version()` functions to version.h/cppWladimir J. van der Laan
2014-08-11Add a getutxos command to the p2p protocol. It allows querying of the UTXO setMike Hearn
given a set of outpoints.
2014-07-24Fix typos in comments (missing i's).paveljanik
2013-11-11Bump protocol version to 70002Gavin Andresen
2013-11-10Cleanup code using forward declarations.Brandon Dahler
Use misc methods of avoiding unnecesary header includes. Replace int typedefs with int##_t from stdint.h. Replace PRI64[xdu] with PRI[xdu]64 from inttypes.h. Normalize QT_VERSION ifs where possible. Resolve some indirect dependencies as direct ones. Remove extern declarations from .cpp files.
2013-10-25Split MIN_PROTO_VERSION into INIT_PROTO_VERSION and MIN_PEER_PROTO_VERSIONWarren Togami
INIT_PROTO_VERSION is the initial version, after a succesful version/verack it is increased to a negotiated version. MIN_PEER_PROTO_VERSION could be a different value to disconnect from peers older than a specified version.
2013-01-16Bump PROTOCOL_VERSION for filter messages.Matt Corallo
2012-09-07Bitcoin-Qt (Windows only): add version info to Resource FilePhilip Kaufmann
- add version information to bitcoin-qt.rc, which is displayed on Windows, when looking in the executable properties and selecting "Details" - introduce a new clientversion.h (used in bitcoin-qt.rc to generate version information), which takes only the version defines from version.h and is included in it (to allow usage with the windres rc-file compiler) - move #define STRINGIFY(s) #s into clientversion.h as that is used in bitcoin-qt.rc and rename to DO_STRINGIZE(X) - add #define STRINGIZE(X) DO_STRINGIZE(X), which is needed to convert the version defines into a version string in the rc-file - this ensures we only need to update 1 file and have bitcoin-qt.exe version information - for RC-file documentation see: http://msdn.microsoft.com/en-us/library/windows/desktop/aa381058%28v=vs.85%29.aspx
2012-09-05Bump version number for 0.7.0rc2v0.7.0rc2Gavin Andresen
2012-08-27Version numbers -> 0.7.0Gavin Andresen
2012-08-20Merge pull request #1641 from jgarzik/mempoolJeff Garzik
Add 'mempool' P2P command, and extend 'getdata' behavior
2012-08-01Bugfix: Correct English grammar regarding "'s"Luke Dashjr
2012-07-31Add 'mempool' P2P command, and extend 'getdata' behaviorJeff Garzik
to permit downloading of mempool transactions from the remote peer.
2012-05-18Update License in File HeadersFordy
I originally created a pull to replace the "COPYING" in crypter.cpp and crypter.h, but it turned out that COPYING was actually the correct file.
2012-05-11Fix version numbers of archive buildsPieter Wuille
2012-05-08Increase client version to 0.6.99Gregory Maxwell
2012-05-04Bump version numbers for 0.6.1rc2v0.6.1Gavin Andresen
2012-04-27Bump version numbers for 0.6.1rc1Gavin Andresen
2012-04-17Bump PROTOCOL_VERSION to 60001, thereby enabling BIP31Jeff Garzik
2012-04-12Replace several network protocol version numbers with named constantsJeff Garzik
stored in version.h. Also, a minor CAddress code reformat while we're in there, fixing some incorrect indentation.
2012-04-12version.h: separate client, net sections. Move more constants to this file.Jeff Garzik
* move PROTOCOL_VERSION to version.h * move CLIENT_VERSION* to version.h, make available past cpp stage * clearly separate client, network version portions of version.h
2012-04-12BIP 0031: pong messageJeff Garzik
Add a pong message that is sent in reply to a ping. It echoes back a nonce field that is now added to the ping message. Send a nonce of zero in ping messages. Original author: Mike Hearn @ Google Modified Mike's change to introduce a mild form of protocol documentation in version.h.
2012-04-10Build identification stringsPieter Wuille
All client version information is moved to version.cpp, which optionally (-DHAVE_BUILD_INFO) includes build.h. build.h is automatically generated on supporting platforms via contrib/genbuild.sh, using git describe. The git export-subst attribute is used to put the commit id statically in version.cpp inside generated archives, and this value is used if no build.h is present. The gitian descriptors are modified to use git archive instead of a copy, to create the src/ directory in the output. This way, src/src/version.cpp will contain the static commit id. To prevent gitian builds from getting the "-dirty" marker in their git-describe generated identifiers, no touching of files or running sed on the makefile is performed anymore. This does not seem to influence determinism.