Commit graph

168 commits

Author SHA1 Message Date
DataHoarder ac3d6b6141
Added faster pruneBlocks implementation 2023-07-20 07:40:19 +02:00
DataHoarder 704b477c37
Slightly faster CompareConsensusPublicKeyBytes calls 2023-07-20 07:40:19 +02:00
DataHoarder c4053f3480
Faster pool block iteration backwards via PoolBlock iteration cache, added benchmark to SideChain 2023-07-20 07:40:19 +02:00
DataHoarder 4ef60296f1
Updated to Go 1.21
* Replaced exp/slices and exp/maps with slices/maps implementation
* Replaced utils.Min/Max with min/max
* Introduced GOEXPERIMENT=loopvar on build steps
* Updated tests/docker-compose to go1.21-rc-alpine
* Updated nginx to 1.25
* Preallocate mined blocks on Sidechain
* Update edwards25519 version
2023-07-20 07:40:18 +02:00
DataHoarder 4376c41511
Optimize struct alignment and memory size across the project 2023-06-14 17:26:46 +02:00
DataHoarder 89339ee88a
Replace golang map with https://github.com/dolthub/swiss on sidechain/mainchain 2023-06-10 01:31:42 +02:00
DataHoarder bad1e302c8
Added sidechain GetPossibleUncles() method
All checks were successful
continuous-integration/drone/push Build is passing
2023-06-05 23:46:34 +02:00
DataHoarder 29751ec74d
Prevent heap allocations in block encoding/decoding/generation of keys 2023-06-05 23:45:38 +02:00
DataHoarder 209decd5b7
Do not allow empty spend and view pubkeys in side data 2023-06-05 23:44:54 +02:00
DataHoarder 03ff13fc0c
added merkle tree MainBranch precalculation method, mempool utilities and handling, UVarInt64SliceSize, Share utilities 2023-06-05 23:44:24 +02:00
DataHoarder 9b241e22db
Changed how blocks are iterated from sidechain 2023-06-05 23:42:53 +02:00
DataHoarder 1b04de234c
Changed how consensus Id is generated 2023-06-05 23:41:32 +02:00
DataHoarder 5ab76f5503
Calculate precise buffer lengths using varint sizes 2023-06-03 23:33:13 +02:00
DataHoarder 0cd75a0509
added limitbytereader to utils, less buffer usage on block decoding 2023-06-03 10:05:05 +02:00
DataHoarder 8d779e9cbc
refactored sidechain testdata initialization, web stream request api 2023-06-03 10:05:05 +02:00
DataHoarder 27f65692be
Added sidechain ShuffleSequence utils, loop DownloadMissingBlocks on Server until no more are found
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-31 01:55:34 +02:00
DataHoarder 8b864628f0
fix sidechain test: provide Context on fake server
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-30 09:44:01 +02:00
DataHoarder cd99095931
New utilities and additions for types / sidechain
Some checks failed
continuous-integration/drone/push Build is failing
2023-05-30 08:49:52 +02:00
DataHoarder 25f58426a7
sidechain: err on child depth issue 2023-05-29 16:01:41 +02:00
DataHoarder f4c21dc425
Add hardcoded default pool name case in Consensus 2023-05-29 10:25:55 +02:00
DataHoarder bf30f7592e
Verify and warn inconsistent depths on sidechain 2023-05-29 10:25:55 +02:00
DataHoarder e94e54c27d
fix genesis share private key seed check 2023-05-29 09:09:03 +02:00
DataHoarder d577856081
Faster JSON encoder/decoder
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-27 14:43:22 +02:00
DataHoarder 52b2d617c0
Lock seenBlocks on cleanupSeenBlocks method
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-24 09:14:27 +02:00
DataHoarder 009e507d5d
Fixed FullId TemplateId() method
Some checks are pending
continuous-integration/drone/push Build is running
2023-05-24 09:13:08 +02:00
DataHoarder 48915be81b
Added tests for pre-fork p2pool, generalize tests, added patched missing blocks for old mini sidechain test
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-23 21:19:42 +02:00
DataHoarder 951b1105ff
Speed improvements on partial crypto derivation
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-23 10:25:10 +02:00
DataHoarder 2ad5e1ba38
Sync speed improvements by better crypto cache
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-23 09:38:09 +02:00
DataHoarder 69cfc3f3da
Cleanup seen blocks properly to prevent slow leak like p2pool had before eab8a51bb7a30813d4cd8f570486fbee034acdb8 2023-05-23 06:41:03 +02:00
DataHoarder 3ac9b9f5bd
Track seen and alternate blocks, and submit these alternate blocks to monerod / other peers as well
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-22 11:11:55 +02:00
DataHoarder e9eb5915ed
Optimize address sorting, crypto cache, use unsafe VarTimeScalarMult for sidechain operations
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-20 10:49:05 +02:00
DataHoarder 041fc55f16
Serialize pool blocks using append on stack buffers instead of heap buffer allocations
Some checks failed
continuous-integration/drone/push Build is failing
2023-05-18 05:21:23 +02:00
DataHoarder 22077acdfa
Reduce allocations on utils.SplitWork, add BufferLength methods for pool block serialization 2023-05-17 17:29:01 +02:00
DataHoarder 4acc0d34af
Add stagenet on consensus AddressNetwork() 2023-05-17 12:17:38 +02:00
DataHoarder ba3f9b9ae4
Support Monero test network in address packed <-> unpacked roundtrip
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-16 07:14:58 +02:00
DataHoarder 265ff8478e
Use Shares allocation pool for overall usage of allocated shares 2023-05-14 09:46:28 +02:00
DataHoarder f8fcbc1b69
Reduce memory allocations on SideChain 2023-05-14 09:22:01 +02:00
DataHoarder 3eafb954df
Reduce hash heap allocations by using exported sha3
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-12 08:55:01 +02:00
DataHoarder 6a690ad278
Reduce allocations on ephemeral public key verification
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-11 12:05:27 +02:00
DataHoarder 7a7c21c6d6
Fix test locations and timeouts
Some checks failed
continuous-integration/drone/push Build is failing
2023-05-10 05:06:23 +02:00
DataHoarder c1dd874343
Reduce allocations on ephemeral public key cache operations 2023-05-10 04:31:59 +02:00
DataHoarder 4a2e513987
Track crypto cache hits/misses, less packed address allocations 2023-05-10 04:02:56 +02:00
DataHoarder edbb610533
Added new testdata system using p2pool vectors 2023-05-10 03:46:33 +02:00
DataHoarder e3f50dd515
Better p2pool api sync status 2023-05-10 02:39:00 +02:00
DataHoarder c1375a3cb8
Refactored RandomX state creation 2023-04-30 21:49:25 +02:00
DataHoarder 939932944d
Allow non-sequential download of blocks for GetDifficulty 2023-04-26 09:32:52 +02:00
DataHoarder 691a83c37b
New API /api/main_block_by_***, fix sidechain PPLNS window iteration not being able to be replicated downstream on last uncle 2023-04-25 05:25:51 +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 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 2aa8e57a6f
Remove unused ShareVersion_V2MainNetTimestamp 2023-04-20 15:09:02 +02:00
DataHoarder d6a46fb216
Do not ban peers on low height tip responses 2023-04-19 20:24:55 +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 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 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 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 3ec6e36a12
Fix sidedata serialization 2023-03-20 12:39:26 +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 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 07e48f99e1
Added API to p2pool implementation, fixed archive 2023-03-17 10:01:52 +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 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 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 0472c9fcf4
Rename GetClient to GetDefaultClient, allow creation of custom clients 2022-12-16 20:32:57 +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 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 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 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 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