Commit graph

63 commits

Author SHA1 Message Date
SChernykh
689fa14cfd Fixed cppcheck errors 2023-05-10 10:35:23 +02:00
SChernykh
c94b627808 TCPServer: use /64 prefix to ban IPv6 peers 2023-04-27 10:28:32 +02:00
SChernykh
8bf045974f BlockTemplate code refactoring
- Moved block constants to one place
- Tuned block template max transaction limiter
2023-04-21 11:13:48 +02:00
SChernykh
6e258bb210 Refactored TCPServer to reduce code duplication 2023-04-19 16:37:32 +02:00
SChernykh
3697c079fa Fixed cppcheck error 2023-03-27 11:47:48 +02:00
SChernykh
2e6041dcf5 P2PServer: add local api data 2023-03-27 11:16:57 +02:00
SChernykh
b6c1b1a6d7 P2PServer: log time it took to relay a block 2023-03-21 11:22:48 +01:00
SChernykh
19cc044cab Added UPnP port forwarding 2023-03-19 23:02:09 +01:00
SChernykh
12a011a9ff TCPServer: removed unnecessary mutex 2023-02-27 15:59:42 +01:00
SChernykh
1c908c261d TCPServer: refactored memory allocation 2023-02-17 08:47:52 +01:00
SChernykh
b346b93285 Updated copyright 2023-01-04 13:07:55 +01:00
SChernykh
da12b329be Check the block id returned by BLOCK_RESPONSE 2022-12-14 14:24:09 +01:00
SChernykh
3902612c4b P2PServer: show more data for connected peers 2022-12-09 11:31:05 +01:00
SChernykh
3e4f877ec0 Display software name in peers list 2022-12-02 15:43:20 +01:00
SChernykh
7eec4d742c P2PServer: removed an unnecessary lock 2022-11-22 09:57:50 +01:00
SChernykh
da9cdf7df3 Send our P2Pool version to other peers 2022-11-10 14:31:02 +01:00
SChernykh
25806b67a2 Added protocol version negotiation
Protocol version 1.1: compact block broadcasts
2022-11-09 22:56:12 +01:00
SChernykh
47ff7e228e Added code to deserialize compact blobs 2022-11-09 16:21:31 +01:00
SChernykh
c135787620 Prepare compact blob for block broadcasts
Reference transactions by index in the parent block instead of storing full 32 bytes per transaction
2022-11-09 12:40:45 +01:00
SChernykh
74b5ab1798 Force update block template after 30 seconds
To get new transactions in
2022-11-04 07:47:07 +01:00
SChernykh
732190bb11 P2PServer: sanity check for timestamps 2022-11-03 08:51:06 +01:00
SChernykh
65a9574e52 Added --p2p-external-port command line parameter 2022-10-28 14:06:26 +02:00
SChernykh
fd6b2360aa Fix: uv_close was called from wrong thread 2022-10-07 16:02:08 +02:00
SChernykh
38a6d3e549 Limit max in/out peers to 450
To avoid hitting default open files limit (1024)
2022-09-20 10:39:55 +02:00
SChernykh
afa9cf371e P2PServer: sync from the fastest peer if possible 2022-09-13 10:51:15 +02:00
SChernykh
86156f3fec SOCKS5 proxy support 2022-09-03 22:35:38 +02:00
SChernykh
c5bd184bbc P2PServer: don't deserialize the same block twice 2022-07-10 10:24:03 +02:00
SChernykh
9e7666d12f Fixed data races 2022-05-28 21:46:50 +02:00
SChernykh
b2f86a5f6b Ban peers with stuck or lagging monerod 2022-04-23 11:29:17 +02:00
SChernykh
a2afa29052 Updated copyright 2022-03-30 14:42:26 +02:00
SChernykh
028a5d0c88 Fixed memory leak after loading block cache 2022-03-24 18:30:23 +01:00
SChernykh
aada1bb5cc Use chrono::steady_clock for internal timestamps 2022-03-23 11:30:38 +01:00
SChernykh
c21d052d7a Refactored RNG usage across the code 2022-03-17 16:14:29 +01:00
SChernykh
2209e0cc70 P2PServer: relaxed peer list request restriction 2022-02-22 11:06:12 +01:00
SChernykh
9a09d15bea P2PServer: use high_resolution_clock for ping time 2022-02-21 18:46:53 +01:00
SChernykh
f082488e4b TCPServer: use steady_clock for bans 2022-02-21 18:41:36 +01:00
SChernykh
752e2381d6 P2PServer: added more protocol checks 2022-02-21 16:54:53 +01:00
SChernykh
d4a1b14820 Use monerod peers to find p2pool nodes 2022-02-17 22:10:52 +01:00
SChernykh
89bcceb986 Added p2pool mini seed nodes and default port 2021-12-30 11:10:18 +01:00
SChernykh
2b01350add Added outpeers and inpeers console commands 2021-12-26 15:28:33 +01:00
SChernykh
b56d027dd5 Include P2P peer list into miner count 2021-10-31 20:29:35 +01:00
SChernykh
b45540ca08 TCPServer: clean up old IP bans 2021-10-29 14:54:36 +02:00
SChernykh
111324b6e0 Added console command to show connected peers 2021-10-24 16:04:30 +02:00
SChernykh
148b9dd294 Switch to faster unordered_map/set 2021-10-22 18:34:20 +02:00
SChernykh
a06f4dcdcd P2PServer: fixed ever growing memory usage 2021-10-17 10:57:33 +02:00
SChernykh
39ba5c4131 P2PServer: check for messages that shouldn't be sent 2021-10-15 17:09:51 +02:00
SChernykh
9b86f8e81f Peer list refactoring
- Remove peers that weren't seen for > 1 hour
- Better peer selection algorithm for PEER_LIST_RESPONSE
2021-10-15 11:32:01 +02:00
SChernykh
60a8538e0c P2PServer: show an error when there are no ZMQ messages 2021-10-09 11:01:26 +02:00
SChernykh
77a3a5857c P2PServer: show an error when there are no connections 2021-10-08 18:21:31 +02:00
SChernykh
2a3cd13b19 P2PServer: delete old cached blocks after initial sync
Saves ~20 MB of memory
2021-10-01 15:31:47 +02:00