Commit graph

254 commits

Author SHA1 Message Date
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