Commit graph

261 commits

Author SHA1 Message Date
DataHoarder 34fc5cedf5
Do not ban client if it's the same peer 2023-04-23 17:21:10 +02:00
DataHoarder d267716c25
Limit fast sync responses 2023-04-23 17:11:55 +02:00
DataHoarder 1678ed4ed1
Add -add-self-peer and -ipv6-only settings 2023-04-23 16:46:47 +02:00
DataHoarder e8f9542cd3
Implement listeners for other events in the future 2023-04-23 01:38:33 +02:00
DataHoarder c438622558
Match consensus sync on high depth uncles as they leave outer PPLNS window, match 2045aae5a8 2023-04-22 19:03:24 +02:00
DataHoarder f3d16d5c6f
Generalize consensus share shuffle function 2023-04-22 04:15:27 +02:00
DataHoarder 6617b5abb9
Do not return stale on tip request 2023-04-22 03:43:42 +02:00
DataHoarder 3298f7cbb4
Use small buffer pool for most send operations, limit attempt speed on new connections, match buffer size send limit as of 8bf045974f 2023-04-21 15:41:50 +02:00
DataHoarder fcf8591cc3
Added connectivity check page to web 2023-04-21 07:08:21 +02:00
DataHoarder ba6dc39b27
Fix /miner and /proof raw light block, connection check on api 2023-04-21 05:35:25 +02:00
DataHoarder 2aa8e57a6f
Remove unused ShareVersion_V2MainNetTimestamp 2023-04-20 15:09:02 +02:00
DataHoarder 72a0356726
Allow consensus protocol extensions for GoObserver 2023-04-19 23:32:58 +02:00
DataHoarder d92b2fae7d
Overhaul logs attribution 2023-04-19 22:05:22 +02:00
DataHoarder c743cf97ec
Improvement: pad PeerListResponse with other peer entries 2023-04-19 21:56:49 +02:00
DataHoarder 072debb291
Fix incoming connections / handshake / initial peer list 2023-04-19 21:48:30 +02:00
DataHoarder d6a46fb216
Do not ban peers on low height tip responses 2023-04-19 20:24:55 +02:00
DataHoarder c9982a77cb
Fix unknown block response nil pointer on client 2023-04-19 19:35:13 +02:00
DataHoarder fa52d8c44a
Added /api/consensus_check/ for p2pool consensus server 2023-04-19 19:18:35 +02:00
DataHoarder b4899fac39
Fix Server.IsBanned() 2023-04-19 19:13:46 +02:00
DataHoarder f92b38d9c0
Proper p2pool closure on signal, software version v1.0 2023-04-19 18:05:05 +02:00
DataHoarder d96ffd3781
Do not ban peers on connection closed between packets 2023-04-19 17:24:36 +02:00
DataHoarder 108cf1d682
Overhaul peer list, load from monerod peers as fallback, actual ban list 2023-04-19 15:16:56 +02:00
DataHoarder 20c6dd2331
Verify TxExtraTagMergeMining depth in PoolBlock deserialization 2023-04-17 05:40:53 +02:00
DataHoarder 828108af5b
Verify major version of blocks according to monero hardfork information 2023-04-16 19:36:37 +02:00
DataHoarder 1a1c818741
Added SideChain consensus hard fork information 2023-04-16 19:25:24 +02:00
DataHoarder ef70bf9021
New API methods, faster miners page, deprecate shares for side_blocks 2023-04-13 04:09:11 +02:00
DataHoarder 1fd3938939
Fix scanning for new main blocks, do not cache old headers in p2pool 2023-04-11 15:32:40 +02:00
DataHoarder b9d0fc7bdc
Added all entries to single docker-compose.yml
Working docker-compose version, removed old unused database code
2023-04-11 05:54:49 +02:00
DataHoarder e56d7ee46e
Index database, archivetoindex, database schema
Implemented daemon, web, api into new index backend
2023-04-11 04:26:24 +02:00
DataHoarder df2ab20a86
PoolBlock FullId now doesn't require consensus 2023-04-11 04:26:23 +02:00
DataHoarder 11a270e547
Use currentDifficulty on sidechain for too low diff checks 2023-03-27 15:27:29 +02:00
DataHoarder 170db02ba1
Remove chainTipBlockRequest from p2p client, use ZeroHash on expectedBlockId instead 2023-03-27 14:38:41 +02:00
DataHoarder 50d2f56d06
Stricter checks in sidechain GetDifficulty via 645de31fe3 2023-03-27 14:37:50 +02:00
DataHoarder 0382deccba
Check alternative chains more strictly via eef90da7ae 2023-03-27 14:34:57 +02:00
DataHoarder cee3f630aa
Faster check of block difficulty for broadcasted blocks on sidechain 2023-03-27 14:09:17 +02:00
DataHoarder b4b95a5f8e
Move IsLongerChain into sidechain utils 2023-03-27 13:56:27 +02:00
DataHoarder 69cb6ec948
Faster cache to archive, fixed legacy to archive, added archive to archive cmd 2023-03-26 05:44:30 +02:00
DataHoarder 53f77853c2
Remove usage of hardcoded UnclePenalty 2023-03-22 12:05:50 +01:00
DataHoarder e3597c7f2b
Added PPLNS window iterator to sidechain utils for usage elsewhere and prevent multiple copy versions 2023-03-22 11:05:04 +01:00
DataHoarder ca986584b2
Move block pre-processing from sidechain/archive into PoolBlock via callback interfaces 2023-03-21 11:01:51 +01:00
DataHoarder f8fb72c502
Block format if printed to JSON, handle window size in pool_info 2023-03-20 15:15:35 +01:00
DataHoarder 239f135fcd
Fix API block window 2023-03-20 13:11:39 +01:00
DataHoarder 3ec6e36a12
Fix sidedata serialization 2023-03-20 12:39:26 +01:00
DataHoarder 84b8b99040
Fixed miner output calculations 2023-03-20 11:47:09 +01:00
DataHoarder faacd347a0
Better archive fetch, improved derivation cache allocations, close on zmq disconnect, fill private key on share decoding 2023-03-20 08:36:39 +01:00
DataHoarder fbc4deb6f9
Daemon fixes 2023-03-19 09:36:38 +01:00
DataHoarder d558d8b4e7
Fill private key on archive 2023-03-19 00:33:56 +01:00
DataHoarder 28a417bccd
Consensus adjustements for hardfork, fix private key calculation from seed 2023-03-19 00:25:52 +01:00
DataHoarder f9fb96ef87
Fixed miner output shuffle 2023-03-18 22:11:20 +01:00
DataHoarder efe6ed6bed
Partial update for p2pool web/api/scraper for fork 2023-03-18 21:19:54 +01:00
DataHoarder 90d82e5f80
Added sidechain tip state from value to API 2023-03-18 11:33:51 +01:00
DataHoarder 7f7c19d38e
Abstracted api types outside of main 2023-03-17 11:32:45 +01:00
DataHoarder 07e48f99e1
Added API to p2pool implementation, fixed archive 2023-03-17 10:01:52 +01:00
DataHoarder 0c589ea015
Archive binary compatibility changes, added note on miner.go on database about hard fork 2023-03-12 22:10:03 +01:00
DataHoarder 4550fdffd0
Added archive, and utilities to export cache/legacy to archive 2023-03-12 15:00:38 +01:00
DataHoarder 979049c3ac
Update web/api to report share version information on share and miner pages 2023-03-11 22:15:33 +01:00
DataHoarder c01847be4f
Added readcache utility to decode p2pool.cache blocks 2023-03-11 20:32:14 +01:00
DataHoarder 9e663bbc7a
Fixed v2 signaling read 2023-03-11 20:26:10 +01:00
DataHoarder b2bb0a4156
Log software id and version for mined shares, and signaling 2023-03-11 19:08:04 +01:00
DataHoarder 020a30b122
Fixed getShares Height -> SeedHeight for difficulty getting 2023-03-11 00:07:25 +01:00
DataHoarder 0773e754de
Higher precision on log entries, add debug log option 2023-03-10 22:03:12 +01:00
DataHoarder ac7d759ed4
Do not submit found blocks multiple times to monerod 2023-03-10 20:23:45 +01:00
DataHoarder a46d182aa8
Save/load blocks from p2pool.cache 2023-03-10 16:45:22 +01:00
DataHoarder d59a78c25d
Check miner data on client block response and block broadcast 2023-03-09 16:18:42 +01:00
DataHoarder 968b07ae0b
Support p2pool hardfork in March 2023-03-07 18:57:06 +01:00
DataHoarder 92b74f667f
Implemented ZMQ fetch of block data, proper main chain handling, refactored client RPC access, updated dependencies 2023-03-05 15:07:40 +01:00
DataHoarder 4f7a4a86de
Add client connection i/o deadlines 2022-12-19 12:06:32 +01:00
DataHoarder 77a8b25c80
Verify BlockResponse matches requested id from BlockRequest 2022-12-18 15:53:32 +01:00
DataHoarder 0472c9fcf4
Rename GetClient to GetDefaultClient, allow creation of custom clients 2022-12-16 20:32:57 +01:00
DataHoarder fc2abf71ae
Fix race in Client.BlockPendingRequests and apply rule, move LastBroadcast 2022-12-14 19:31:59 +01:00
DataHoarder fc09d53b2e
Use ZeroHash instead of empty Hash 2022-12-12 17:15:43 +01:00
DataHoarder cdccbd20df
get missing blocks every 60 seconds to prevent sync stalling due to client disconnection 2022-12-12 16:58:45 +01:00
DataHoarder b4b35766db
Do not send compact blocks if they are larger than pruned blocks 2022-12-12 15:14:48 +01:00
DataHoarder 193ecbe2aa
Fill transaction indices on block verify 2022-12-12 15:14:48 +01:00
DataHoarder 2f06a81e49
Remove several races, properly delete from peer list 2022-12-11 17:27:46 +01:00
DataHoarder 9ac70ab318
Added base p2pool cmd, added external listen port 2022-12-11 14:46:37 +01:00
DataHoarder 3167d2a52b
Updated remaining spots to types.Difficulty to match p2pool logic, update block compression 2022-12-11 14:00:53 +01:00
DataHoarder be28157ed3
Client utilities, adjustment of names on protocol / server to match p2pool 2022-12-11 13:31:43 +01:00
DataHoarder 3387672e91
Remove Client.Write 2022-12-11 13:02:15 +01:00
DataHoarder e2911150f7
Implement pruning, add tcp listener instead of interface, improve read/write times on client and limit requests when already requested 2022-12-09 13:13:00 +01:00
DataHoarder b7a7358103
Fix peer / client list and connection tracking on server 2022-12-06 09:59:57 +01:00
DataHoarder 28623fb3fe
Faster synchronization based on ping time 2022-12-04 15:15:33 +01:00
DataHoarder 2b5ce80a75
Implement peer lists, send peer list requests, synchronize client operations by block header to prevent racing from all peers 2022-12-04 15:00:05 +01:00
DataHoarder 0e909af5d4
Added max outgoing peers setting 2022-12-04 14:57:07 +01:00
DataHoarder 5ffa2041a0
Do not ban on parent not existing on block pre-process 2022-12-04 02:20:36 +01:00
DataHoarder 4adf67825d
Produce pruned / compact block broadcasts 2022-12-04 01:46:22 +01:00
DataHoarder 2823029eb9
Support protocol 1.1, receive and process compact block broadcasts 2022-12-03 23:43:18 +01:00
DataHoarder 79aba57c0b
Send peers on peer list response, atomic listen port 2022-12-02 14:34:18 +01:00
DataHoarder 6a014365a6
Specifically set isv6 = 0 for PeerVersionInformation 2022-12-02 13:15:53 +01:00
DataHoarder 2b27533aa2
Implement protocol handshake via peer messages 2022-12-02 12:33:37 +01:00
DataHoarder 53fca1539d
Change blobcache, test 2022-11-30 08:27:06 +01:00
DataHoarder 80ce187da1
Add Deterministic transaction private key comment for future upgrades 2022-11-08 14:25:57 +01:00
DataHoarder d2dc48b429
Unmap IPv4 addresses 2022-11-08 11:46:35 +01:00
DataHoarder 7929753c40
Timeout outgoing connections in 10 seconds, reduce memory allocations, use sync.Pool for storing allocations 2022-11-08 11:35:09 +01:00
DataHoarder 0e6cd73940
Do not send broadcasts unless they complete broadcasts, log height 2022-11-07 19:38:29 +01:00
DataHoarder 55b39f8535
Faster address derivation via benchmark, lesser cache of derivations 2022-11-07 15:58:02 +01:00
DataHoarder 51bdaf581a
Adjust derivations to use edwards25519 methods, and use proper reductions 2022-11-07 09:52:35 +01:00
DataHoarder c0921997bc
Proper hash ordering, from consensus 2022-11-07 08:37:39 +01:00
DataHoarder 23bf5a9f0f
Concurrency helper, blobcache work for compression 2022-11-06 21:11:03 +01:00
DataHoarder 0b81a82a4b
Sync and pings working, channel-based messages 2022-11-06 17:01:36 +01:00
DataHoarder 4af4b9dabf
Reduce memory allocations 2022-11-06 14:00:53 +01:00
DataHoarder 37c1a295cf
Client synchronization to tip working 2022-11-06 11:58:19 +01:00
DataHoarder 39e34abed6
Split outputs from transaction 2022-11-05 11:28:10 +01:00
DataHoarder a685bad178
Improve Server.Close / randomx 2022-11-05 10:23:31 +01:00
DataHoarder 59d8bcd0f7
Reduce allocations 2022-11-05 09:33:53 +01:00
DataHoarder f2eae36712
Rewrite private/public key usage away from types.Hash, generic address interface 2022-11-05 08:59:00 +01:00
DataHoarder 03a026c026
Initial sidechain verification 2022-11-03 15:24:54 +01:00
DataHoarder a9e0ce96b0
Initial P2Pool work, move most derivations and signatures to crypto 2022-11-01 12:22:00 +01:00
DataHoarder ab0e335b9a
Refactor Difficulty, cache derivations and client actions, faster miner transaction matching 2022-10-28 11:47:14 +02:00
DataHoarder ea97ca98b9
Initial consensus work 2022-10-26 18:56:37 +02:00
DataHoarder 76d70a5f1a
Initial commit 2022-10-08 20:55:01 +02:00