aboutsummaryrefslogtreecommitdiff
path: root/src/cryptonote_protocol/cryptonote_protocol_defs.h (follow)
AgeCommit message (Collapse)AuthorFilesLines
2019-01-22Pruningmoneromooo-monero1-0/+5
The blockchain prunes seven eighths of prunable tx data. This saves about two thirds of the blockchain size, while keeping the node useful as a sync source for an eighth of the blockchain. No other data is currently pruned. There are three ways to prune a blockchain: - run monerod with --prune-blockchain - run "prune_blockchain" in the monerod console - run the monero-blockchain-prune utility The first two will prune in place. Due to how LMDB works, this will not reduce the blockchain size on disk. Instead, it will mark parts of the file as free, so that future data will use that free space, causing the file to not grow until free space grows scarce. The third way will create a second database, a pruned copy of the original one. Since this is a new file, this one will be smaller than the original one. Once the database is pruned, it will stay pruned as it syncs. That is, there is no need to use --prune-blockchain again, etc.
2018-11-06protocol: option to pad transaction relay to the next kBmoneromooo-monero1-0/+2
To help protect one's privacy from traffic volume analysis for people using Tor or I2P. This will really fly once we relay txes on a timer rather than on demand, though. Off by default for now since it's wasteful and doesn't bring anything until I2P's in.
2018-06-26replace std::list with std::vector on some hot pathsmoneromooo-monero1-8/+8
also use reserve where appropriate
2018-01-26Update 2018 copyrightxmr-eric1-1/+1
2018-01-11cryptonote_protocol: fix size_t used in wire formatmoneromooo-monero1-1/+1
This is 32 bits on 32 bit platforms, but 64 bits on 64 bit platforms.
2017-12-16move includes around to lessen overall loadmoneromooo-monero1-1/+1
2017-11-18make connection_id a string in RPCmoneromooo-monero1-2/+2
It's sent as JSON, so raw binary is not appropriate
2017-09-17protocol: remove hop count on block propagationmoneromooo-monero1-6/+0
It is unused, as it was apparently a future optimization, and it leaks some information (though since pools publish thei blocks they find, that amount seems small).
2017-08-15protocol: pass blockchain cumulative difficulty when syncingmoneromooo-monero1-0/+4
Not used yet.
2017-08-12daemon: print peers' top height in sync_infomoneromooo-monero1-0/+3
2017-08-09protocol: add checks for top block hard fork versionmoneromooo-monero1-0/+2
We won't even talk to a peer which claims a wrong version for its top block. This will avoid syncing to known bad peers in the first place. Also add IP fails when failing to verify a block.
2017-08-07cryptonote_protocol_handler: sync speedupmoneromooo-monero1-0/+3
A block queue is now placed between block download and block processing. Blocks are now requested only from one peer (unless starved). Includes a new sync_info coommand.
2017-05-27abstracted nework addressesmoneromooo-monero1-0/+4
All code which was using ip and port now uses a new IPv4 object, subclass of a new network_address class. This will allow easy addition of I2P addresses later (and also IPv6, etc). Both old style and new style peer lists are now sent in the P2P protocol, which is inefficient but allows peers using both codebases to talk to each other. This will be removed in the future. No other subclasses than IPv4 exist yet.
2017-02-21update copyright year, fix occasional lack of newline at line endRiccardo Spagni1-1/+1
2017-02-12cryptonote_protocol: misc fluffy block fixesmoneromooo-monero1-5/+5
- fix wrong block being used when a new block is received between a node elaying a fluffy block and sending a new fluffy block with txes a peer did not have - misc a neverending ping pong requesting the same missing txids when a new block is received in the meantime, causing the top block to not be the one we need - send the original fluffy block message block height when sending a new fluffy block, not the current top height, which might have been updated since - avoid sending back the whole block blob when asking for txes, send only the hash instead - plus misc cleanup and additional debugging logs
2017-02-08extract some basic code from libcryptonote_core into libcryptonote_basickenshi841-1/+1
2016-11-09add lightweight block propagation ("fluffy blocks")Dion Ahmetaj1-0/+47
Added a new command to the P2P protocol definitions to allow querying for support flags. Implemented handling of new support flags command in net_node. Changed for_each callback template to include support flags. Updated print_connections command to show peer support flags. Added p2p constant for signaling fluffy block support. Added get_pool_transaction function to cryptnote_core. Added new commands to cryptonote protocol for relaying fluffy blocks. Implemented handling of fluffy block command in cryptonote protocol. Enabled fluffy block support in node initial configuration. Implemented get_testnet function in cryptonote_core. Made it so that fluffy blocks only run on testnet.
2015-12-31updated copyright yearRiccardo Spagni1-1/+1
2015-04-01remerged; commands JSON. logging upgrade. doxygenrfree2monero1-0/+14
2015-01-02year updated in licenseRiccardo Spagni1-1/+1
2014-07-23License updated to BSD 3-clausefluffypony1-3/+29
2014-07-23Changed time_t to uint64_t for serializationThomas Winget1-3/+3
time_t is implementation-, architecture-, and apparently compiler-dependent. As an example, on my machine if I build a 64-bit binary, sizeof(time_t) is 8, but for a 32-bit binary it's 4. uint64_t is therefore much more consistent for serialization, given that RPC calls are potentially made between different machines.
2014-07-18Added get_connections RPC call to daemonThomas Winget1-0/+35
2014-03-03moved all stuff to githubAntonio Juarez1-0/+152