Commit graph

58 commits

Author SHA1 Message Date
Peter Conrad
7eb3729cc0
Adapted to fc promise changes 2020-08-23 14:18:59 -05:00
Peter Conrad
0569efc068
Replaced fc::array with std::array 2020-08-23 14:18:59 -05:00
John Jones
a24a6bfc68
replace smart_ref with shared_ptr 2020-08-23 14:18:22 -05:00
Peter Conrad
b3d6058485 Externalized db objects 2019-11-29 14:10:40 +03:00
Peter Conrad
71d8bfd843 Externalize serialization of blocks, tx, ops 2019-11-29 14:10:40 +03:00
Alfredo Garcia
fccd856429
Merge pull request #149 from peerplays-network/feature/GRPH-114
[GRPH-114] Check the attacker/buggy client before updating items ids
2019-11-11 09:50:46 -03:00
Sandip Patel
e3b2459de4 Adjust p2p log level (#180) 2019-10-16 20:57:39 +05:30
Wei Yang
83b19d0b84 node.cpp: Check the attacker/buggy client before updating items ids
The peer is an attacker or buggy, which means the item_hashes_received is
not correct.

Move the check before updating items ids to save some time in this case.
2019-09-24 13:35:48 +03:00
Miha Čančula
499a5fc33e
Merge branch 'develop' into GRPH-50-network_broadcast_api-fix-v2 2019-09-18 16:36:42 +02:00
John Jones
8f4483dfea remove needless find() 2019-08-29 07:39:20 +03:00
Abit
a49f8bf47c
Merge pull request #714 from pmconrad/json_fix
JSON fix
2019-08-28 15:42:21 +02:00
pbattu
0f06a9af2a Required changes to upgrade blockchain to ubuntu18.04 2019-05-20 22:32:17 -03:00
Bartek Wrona
b5c8cd0ad3 Fixes for most of valgrind errors related to unintialized values
Including one additional debug code (related to read_loop MT access).
2017-09-07 10:04:00 -04:00
theoreticalbts
a9de7c1da3 node.cpp: Fix possible race condition in process_backlog_of_sync_blocks() #1434 2017-09-07 10:04:00 -04:00
Eric Frias
f66eeeb73b Fix bug where peers could get stuck in sync mode.
There was a case where we had requested a block through the sync
mechanism and also received it through the normal inventory mechanism
where we would leave the peer in a sync state, but never ask them
for more sync blocks.

This commit fixes the bug that put us into that stuck state, and also
adds code to disconnect peers if we ever manage to get into that stalled
state.
2017-09-07 10:04:00 -04:00
oxarbitrage
fab2794699 remove GRAPHENE_TEST_NETWORK_VERSION
https://github.com/bitshares/bitshares-core/issues/307
2017-06-11 11:47:11 -03:00
abitmore
06b18c4011 Fix Windows build. 2017-06-03 01:21:17 +00:00
oxarbitrage
0184fb19e8 additional conole log for already in use p2p code
github issue #77
2017-04-20 20:13:43 -03:00
Vikram Rajkumar
8ae1f6b3a5 Remove NTP time 2017-03-16 12:53:52 -05:00
abitmore
5ad763b0bf Catch all exception when connecting to other peers 2016-09-06 20:57:01 +02:00
abitmore
aa844f56fa Fix seed node stuck issue #654 2016-05-16 22:03:08 +02:00
theoreticalbts
2666350978 Fix iteration logic in _handle_message_calls_in_progress shutdown loop to handle concurrent modification #598 2016-02-25 11:31:08 -05:00
Fabian Schuh
5111084730 [License] Modify cpp and hpp headers to MIT #496 2016-01-07 11:44:52 -05:00
theoreticalbts
d0609e8e74 Update copyright notice for BitShares 2015-10-12 13:48:40 -04:00
theoreticalbts
60f0812de2 Update copyright notice 2015-10-12 13:32:47 -04:00
Eric Frias
7bc7004ef9 Remove items from p2p's list of items to fetch when we expect them to become unfetchable 2015-10-08 15:17:01 -04:00
Daniel Larimer
bb0ea77e80 throttling P2P code 2015-10-05 08:44:59 -04:00
Eric Frias
74bbde785b In the p2p networking code, request multiple transactions at a time to improve performance during flooding 2015-09-29 17:37:32 -04:00
Eric Frias
405a9e71b2 When the p2p code pushes a transaction that fails to apply, remember that transaction so we don't fetch it again as soon as a different peer tells us about it. 2015-09-22 17:13:35 -04:00
Eric Frias
d92736617e Improve logging of exceptions in p2p code (log via reflection instead of converting to strings) 2015-09-22 17:13:35 -04:00
Eric Frias
5bfbe0df86 When a we're in normal (in-sync) mode and we get a block that doesn't link to the chain, restart sync with that peer to try to get the missing block 2015-09-21 16:15:51 -04:00
Eric Frias
9536350a50 Reduce the amount of time we'll wait for a peer to provide a requested block to
one second (down from one full block interval), to reduce the chance of us getting
blocks out of order.
Remove the variable we use to keep track of the last block number a peer has;
This was an optimization in BitShares 0.x where looking up the number was expensive,
and maintaining it is error-prone.
2015-09-21 11:48:58 -04:00
theoreticalbts
a2b6f1a741 Change assert to elog #334 2015-09-21 11:01:11 -04:00
Daniel Larimer
a5c1bc7faf Merge branch 'master' of https://github.com/cryptonomex/graphene 2015-09-21 08:46:57 -04:00
Daniel Larimer
6b915054d2 potential fix for peer not disconnecting after invalid block 2015-09-21 08:46:55 -04:00
Eric Frias
cdd5cae385 Add extra error reporting when we get a list of sync blocks that don't make sense, and replace the assert
with a log+disconnect.
2015-09-19 17:08:57 -04:00
Eric Frias
e5777faa7d Reduce the disconnection timeout in the p2p code for when a peer offers us a block and doesn't respond, now it's one block interval, down from three. This is intended to reduce the chance of a slow peer causing us to push blocks out of order. 2015-09-18 09:39:43 -04:00
Eric Frias
0046cc0698 Fix error messages generated when peer is syncing with empty blockchain 2015-09-11 15:26:55 -04:00
Eric Frias
f9a27059e5 Fix incorrect error message generated when syncing with peer that has no blocks 2015-09-11 10:09:42 -04:00
Eric Frias
8e9bd890a8 Fix bugs, improve logging in p2p sync 2015-09-10 19:33:11 -04:00
Eric Frias
928b6934e0 Merge branch 'master' into p2p_sync_fixes
Conflicts:
	libraries/chain/include/graphene/chain/database.hpp
2015-09-10 17:34:20 -04:00
Eric Frias
b6bba74301 Restore much of the syncing code from BitShares 0.x, and add optimizations that prevent us from attempting to sync with peers those blockchain diverged from ours many blocks ago, which also reduces the size of sync messages. Add logging. 2015-09-10 08:56:29 -04:00
theoreticalbts
8ebc1cfc43 node.cpp: Don't dump empty iterators 2015-09-08 16:08:11 -04:00
Eric Frias
a943de8b76 When rolling back on save, remove the rolled back blocks from our
databases so when we restart and begin syncing, we re-download and
push those rolled back blocks  (fixes bug introduced in
a5071f2568).
Fix logging of incorrect block numbers in p2p log.
2015-09-04 15:22:12 -04:00
Eric Frias
5662a8423c Increase duration of message cache from two blocks (which in practice meant anything > 1 block) to 30 blocks, and move the constant to config.hpp 2015-09-02 17:26:26 -04:00
Eric Frias
d35e2d6d4e reorder the p2p network's terminate_inactive_connections_loop() to prevent us
from being interrupted before we delete an unresponsive peer #288
2015-09-02 12:15:02 -04:00
Eric Frias
c0b9af9a99 Greatly reduce the amount of time the p2p network code will wait for a peer to
return a requested block/transaction.  Make this time dependent on the actual block
interval.  This should allow the the node to give up and request the block from
another peer before the ~30 second undo interval has passed.
Fix the merkle root calculation to avoid reading
past the end of a vector.  Modify the algorithm to do what was likely intended
(this modification is currently disabled because it will yield different results
than the currently-running testnet)
Fix windows build errors.
2015-08-24 09:57:47 -04:00
theoreticalbts
2e9876b557 Implement chain-locked transactions 2015-08-06 12:56:37 -04:00
Vikram Rajkumar
d0b8c66aad Fix Linux Clang build with missing includes; resolve #174 2015-07-20 14:57:08 -04:00
Eric Frias
11a5d2b620 When the p2p code processes a block that contains transactions
we haven't seen, avoid fetching those transactions separately
2015-07-16 15:31:52 -04:00