SChernykh
19cc044cab
Added UPnP port forwarding
2023-03-19 23:02:09 +01:00
SChernykh
c2d8c806d2
Removed fork code, only v2 is left
2023-03-19 17:19:25 +01:00
SChernykh
de7bdba95f
TCPServer: don't spam logs with 127.0.0.1 bans
2023-03-17 16:59:01 +01:00
SChernykh
6baf5247cb
Fixed parallel_run
logic on single CPU systems
2023-03-17 16:01:52 +01:00
SChernykh
146d29b627
Don't let user connect to a node without ZMQ
2023-03-10 15:02:07 +01:00
SChernykh
c1a1249be1
Code cleanup
2023-03-09 10:59:52 +01:00
SChernykh
8e7a797586
Merge pull request #238 from twlee79/feature/namedpipe
...
Allow named pipe as stdin
2023-03-09 10:44:54 +01:00
T W Lee
3df7430663
allow named pipe as stdin, fixes after review
2023-03-09 14:38:20 +13:00
T W Lee
c71d89c95a
allow named pipe as stdin
2023-03-08 02:35:49 +13:00
SChernykh
1b5860eec8
Fixed cppcheck errors
2023-03-06 14:52:47 +01:00
SChernykh
4741880044
StratumServer: added address sanitizer checks
2023-03-06 14:30:13 +01:00
SChernykh
02a0cb174a
StratumServer: show a warning for invalid shares
2023-03-02 13:19:25 +01:00
SChernykh
e53fd7a062
Tests: fixed block_template test volatility
...
Hashes should stay the same from now on.
2023-03-01 09:20:09 +01:00
SChernykh
a76d8049c0
p2pool v3.1
2023-02-28 18:11:54 +01:00
SChernykh
0ce1558f54
Fixed data races
2023-02-27 19:35:28 +01:00
SChernykh
2807f9a51c
TCPServer: disabled debug check in release builds
2023-02-27 19:14:03 +01:00
SChernykh
03a3423da0
StratumServer: fixed data race
2023-02-27 18:58:56 +01:00
SChernykh
12a011a9ff
TCPServer: removed unnecessary mutex
2023-02-27 15:59:42 +01:00
SChernykh
7a1afc7a95
Fixed cppcheck error
2023-02-26 20:12:00 +01:00
SChernykh
fadc5055b2
Updated --no-autodiff
description
2023-02-21 09:17:42 +01:00
SChernykh
1c908c261d
TCPServer: refactored memory allocation
2023-02-17 08:47:52 +01:00
SChernykh
39216df8eb
CI: added openbsd build
2023-02-16 15:16:24 +01:00
SChernykh
ed59579a9d
Don't reset m_cumulativeFoundSharesDiff
2023-02-13 09:41:11 +01:00
SChernykh
2aa7389c3f
Fix: never reset m_cumulativeHashes
...
Hashrates in stratum status can be wrong if `m_cumulativeHashes` decreases.
2023-02-10 17:55:26 +01:00
SChernykh
e64a0acfb3
p2pool v3.0
2023-01-31 18:17:18 +01:00
SChernykh
1cfacf4118
Code cleanup and fixes
2023-01-28 09:58:32 +01:00
SChernykh
975679ef87
Show actual worker difficulty in workers
command
2023-01-27 22:09:17 +01:00
SChernykh
25d083ef25
Show Monero node in status
2023-01-27 17:42:00 +01:00
SChernykh
c7ba11c607
Retry getaddrinfo
with IPv4 only after an error
2023-01-27 10:29:04 +01:00
SChernykh
8876af53d8
SideChain: fixed potential division by 0
2023-01-26 21:42:15 +01:00
SChernykh
33a592ee52
Fixed v2 signaling
2023-01-25 14:43:55 +01:00
SChernykh
a574e68bb7
StratumServer: check for bans before checking shares
2023-01-25 11:36:52 +01:00
SChernykh
001c9e937d
Fixed use of destroyed object
2023-01-24 08:19:13 +01:00
SChernykh
f01bd88edd
Fixed PPLNS window calculation
2023-01-24 07:59:36 +01:00
SChernykh
8700edb330
Miner: added m_sharesFailed to api data
2023-01-23 16:17:17 +01:00
SChernykh
9b686673ae
Fixed m_sharesFailed initialization
2023-01-23 13:13:08 +01:00
SChernykh
c841a2d2a9
Set new testnet hardfork date
2023-01-22 16:24:36 +01:00
SChernykh
5e373b5304
Miner: count failed shares
2023-01-22 09:28:23 +01:00
SChernykh
d332f6cf23
Fixed PPLNS window display in status
2023-01-21 23:09:57 +01:00
SChernykh
1c4806e0d7
Fixed m_txkeySecSeed in block template update
2023-01-21 22:48:51 +01:00
SChernykh
f5ac485ac8
TCPServer: optimized internal write buffers
2023-01-20 17:03:59 +01:00
SChernykh
595196b5ec
Reduced transaction time-to-include delay
...
Based on data from https://rucknium.me/posts/monero-pool-transaction-delay/
> 95 percent all transactions arrived at all five Monero nodes within a five-second interval.
2023-01-20 13:14:58 +01:00
SChernykh
85d177d394
Miner: update extra_nonce on each new block
2023-01-19 11:22:22 +01:00
SChernykh
4ee8890166
Fixed status
command output
2023-01-19 00:04:35 +01:00
SChernykh
5e8858c40e
Fixed warning level
2023-01-18 20:57:45 +01:00
SChernykh
420cb71990
Fixed min difficulty setting
2023-01-18 16:16:35 +01:00
SChernykh
451778d704
Optimized RNG usage
2023-01-17 16:24:15 +01:00
SChernykh
c855bb769a
PoolBlock: removed unnecessary mutex
2023-01-17 13:20:09 +01:00
SChernykh
f95d56d1eb
Fixed wrong type in uv_walk
2023-01-17 08:15:53 +01:00
SChernykh
fe5e209eb1
Don't limit min difficulty on testnet
2023-01-16 18:34:48 +01:00
SChernykh
f206e4b334
Testnet fork on January 21st
2023-01-16 15:36:21 +01:00
SChernykh
5bd518da4b
Optimized BlockTemplate::update()
2023-01-16 11:17:41 +01:00
SChernykh
ec8e40907d
Fixed a crash in status
command
2023-01-15 22:20:06 +01:00
SChernykh
e828709090
Optimized SideChain::get_outputs_blob()
2023-01-15 22:00:44 +01:00
SChernykh
d4329ae594
Show file:line where panic() was called from
2023-01-14 12:37:08 +01:00
SChernykh
2c4c2b8469
Fixed a rare crash on exit
2023-01-13 18:25:04 +01:00
SChernykh
14f667de74
Support dynamic PPLNS window in status
2023-01-13 17:43:56 +01:00
SChernykh
578baeae96
API: added pplnsWeight
to pool stats
2023-01-13 16:01:35 +01:00
SChernykh
1ad3fdfd46
Added more errors checks to p2pool_api
2023-01-13 15:16:06 +01:00
SChernykh
8e7df958b8
Use extra_nonce to signal hardfork readiness
2023-01-12 10:19:29 +01:00
SChernykh
4f2ad9a93c
Optimized get_shares
2023-01-10 22:17:17 +01:00
SChernykh
850eb8e6e0
Fixed submit_block
2023-01-09 22:27:06 +01:00
SChernykh
47f551c046
Randomize output order for P2Pool payouts
2023-01-09 20:07:11 +01:00
SChernykh
ae6747c82d
Initialize tx key from previous blocks
2023-01-09 16:14:33 +01:00
SChernykh
1bd04c2840
Initialize tx key from random seed
2023-01-09 11:28:47 +01:00
SChernykh
11e4c459c9
pub/sec tx key cleanup
2023-01-09 01:15:06 +01:00
SChernykh
647319b731
Added missing check to update_chain_tip
2023-01-09 00:33:37 +01:00
SChernykh
e0913f9068
Speed up calc_sidechain_hash
2023-01-08 23:29:54 +01:00
SChernykh
af0fa872ae
Set sidechain extra (duplicate shares fix)
2023-01-08 21:12:09 +01:00
SChernykh
1ce8f28105
Added sidechain extra
2023-01-08 17:07:28 +01:00
SChernykh
a525f34fec
Speed up calc_miner_tx_hash
a lot
...
Cache keccak state and update it for new extra_nonce in O(1) time instead of O(N). It reduces the number `keccakf` calls from 30-150 to just 2-3. Time to generate 10,000 hashing blobs is reduced from 0.75s to 0.03s.
2023-01-08 14:17:44 +01:00
SChernykh
632f3faac5
Refactored keccak interface
...
- Allow calculating keccak hash in steps
- Only allow 32 and 200 byte final hashes
2023-01-08 13:06:20 +01:00
SChernykh
4f34c4466a
Dynamic PPLNS window
2023-01-08 00:47:03 +01:00
SChernykh
ccc5117172
Track shares that failed to be added
2023-01-07 15:50:02 +01:00
SChernykh
b346b93285
Updated copyright
2023-01-04 13:07:55 +01:00
SChernykh
2b61c1d90f
p2pool v2.7
2023-01-03 15:53:03 +01:00
SChernykh
baf5a64c51
Add high fee transactions immediately
2023-01-02 14:32:13 +01:00
SChernykh
260564cff1
Check for NO_COLOR
before logging starts
2023-01-01 22:12:16 +01:00
SChernykh
726224b253
Support NO_COLOR
environment variable
2023-01-01 11:47:13 +01:00
SChernykh
421e087d81
Fixed UV thread pool size
2022-12-26 19:52:15 +01:00
SChernykh
a1ec97a221
Fixed submit_block
error logging
2022-12-25 16:23:57 +01:00
SChernykh
d151ed9354
Miner: fixed share counter reset logic
2022-12-22 21:53:04 +01:00
SChernykh
7502481f26
Fixed cppcheck issues
2022-12-22 21:00:59 +01:00
SChernykh
76e7e4956d
Miner: fixed share counting during initial sync
2022-12-22 20:53:23 +01:00
SChernykh
15d25bca27
Fixed data race
2022-12-22 20:30:20 +01:00
SChernykh
dffc8bcea0
Fixed cppcheck issues
2022-12-22 14:08:49 +01:00
SChernykh
a61966ed61
Don't count shares that were found during sync
2022-12-22 11:48:50 +01:00
SChernykh
e6d77a40e2
Check block major version in deserialize()
2022-12-19 10:29:29 +01:00
SChernykh
edcb933874
Call get_miner_data
again after startup is done
...
Startup sequence can take a while, so miner data can change - new transactions added, or a new block found by the network.
2022-12-18 11:46:18 +01:00
SChernykh
be18ad4177
Made payout messages more visible
2022-12-18 11:06:38 +01:00
SChernykh
07a5b191bb
Fixes for different BSD variants
2022-12-17 12:56:32 +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
9bce415523
Added alternative command line parameter names
2022-12-03 21:21:02 +01:00
SChernykh
3e4f877ec0
Display software name in peers list
2022-12-02 15:43:20 +01:00
SChernykh
67bbfea87d
p2pool v2.6
2022-11-28 12:44:30 +01:00
SChernykh
220c6939b1
Ignore shares from peers who have lagging monerod
...
More than 10 seconds lag is unacceptable
2022-11-28 08:29:38 +01:00
SChernykh
fd27ea0e8f
Console: check for arguments when required
2022-11-25 21:58:25 +01:00
SChernykh
4bb1982806
Added BlockTemplate tests
2022-11-24 21:38:15 +01:00
SChernykh
9283677a2b
Sync test: log more data in the end
2022-11-24 11:06:18 +01:00
SChernykh
d4180a5084
Fixed Coverity issue
2022-11-24 08:43:13 +01:00
SChernykh
2721b16c46
Miner: fixed data race
2022-11-24 08:04:53 +01:00
SChernykh
f1ff6a21ee
Revert "Broadcast uncle blocks at the same height"
...
This reverts commit 530079b8a5
.
2022-11-23 17:59:28 +01:00
SChernykh
530079b8a5
Broadcast uncle blocks at the same height
...
To reduce orphan block rate
2022-11-23 17:55:11 +01:00
SChernykh
2ca428bbbb
BlockTemplate: non-ambiguous transaction order
...
Different nodes could pick different transactions with the same fee/byte which hurted compact broadcasts efficiency
2022-11-22 23:05:17 +01:00
SChernykh
8a27a8cce4
Added a safety check to block template update
2022-11-22 15:23:32 +01:00
SChernykh
7eec4d742c
P2PServer: removed an unnecessary lock
2022-11-22 09:57:50 +01:00
SChernykh
3f66975e1b
Optimized transaction picking algorithm
2022-11-21 17:09:56 +01:00
SChernykh
b7f8c973f4
Refined transaction picking algorithm
2022-11-21 08:08:31 +01:00
SChernykh
72e414b2b7
Fixed struct alignment
2022-11-16 18:48:46 +01:00
SChernykh
79a31ce57c
SideChain: reduce lock scope in get_outputs_blob
2022-11-16 14:23:13 +01:00
SChernykh
488ed8e562
Added more 128 bit calculations
2022-11-16 10:36:46 +01:00
SChernykh
b3bce1651b
SideChain: use full 128 bits in get_difficulty
2022-11-15 16:39:39 +01:00
SChernykh
cc2f031a32
Fixed a race when stopping logger
2022-11-15 11:07:50 +01:00
SChernykh
d0eea1bf91
Fixed libuv init/shutdown sequence
2022-11-14 23:35:59 +01:00
SChernykh
53ba29b288
Optimized crypto cache memory allocation
2022-11-13 17:30:47 +01:00
SChernykh
c5f3a03d1e
Improved peers
display
2022-11-10 19:56:14 +01:00
SChernykh
da9cdf7df3
Send our P2Pool version to other peers
2022-11-10 14:31:02 +01:00
SChernykh
8a7f1b1b3a
Log shares found by other nodes
2022-11-10 08:22:31 +01:00
SChernykh
aa14620a50
Merge branch 'compact_broadcast'
2022-11-10 07:56:30 +01:00
SChernykh
1fa6a7c11a
Fixed mouse wheel scrolling on Windows
2022-11-09 23:46:10 +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
bbc3d44526
P2PServer: tidy up PEER_LIST_RESPONSE messages
2022-11-08 16:36:09 +01:00
SChernykh
2e747beda6
Added sidechain height to SHARE FOUND log
2022-11-08 14:27:03 +01:00
SChernykh
19414b061b
Refactored BackgroundJobTracker
2022-11-04 10:20:32 +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
83cda110aa
P2PServer: tweaked invalid timestamp messages
2022-11-03 21:19:48 +01:00
SChernykh
1f7c89a95c
Fixed Coverity issues
2022-11-03 19:24:15 +01:00
SChernykh
0df11d24f5
P2PServer: tweaked invalid timestamp logic
2022-11-03 16:14:56 +01:00
SChernykh
a6c27a1e3f
P2PServer: checks timestamps only for new blocks
2022-11-03 15:20:38 +01:00
SChernykh
c090b0cf62
P2PServer: tweaked invalid timestamp logic
2022-11-03 13:52:29 +01:00
SChernykh
45660e3d96
Show wallet address in error messages and status
2022-11-03 11:38:43 +01:00
SChernykh
732190bb11
P2PServer: sanity check for timestamps
2022-11-03 08:51:06 +01:00
SChernykh
255d312ae0
SideChain: log blocks with the same id
2022-11-02 12:49:12 +01:00
SChernykh
cc92ae7998
Retry get_block_headers_range RPC call if it fails
2022-11-02 11:36:29 +01:00
SChernykh
07b460147e
P2PServer: added missing time check
2022-11-01 16:07:13 +01:00
SChernykh
6cf1b13500
p2pool v2.5
2022-10-31 17:39:33 +01:00
SChernykh
65a9574e52
Added --p2p-external-port
command line parameter
2022-10-28 14:06:26 +02:00
SChernykh
d081c8ea74
TCPServer: fixed data race during shutdown
2022-10-18 18:41:58 +02:00
SChernykh
c029e5c39d
Added macro for debug builds
2022-10-13 11:21:40 +02:00
SChernykh
a917a9493c
Randomize extra_nonce
...
To guarantee that hashing blobs will be different between different p2pool nodes, even if they mine to the same wallet address and don't have transactions to shuffle within the block template.
2022-10-11 11:33:58 +02:00
SChernykh
02405bb8ff
Workaround for duplicate sidechain IDs
...
Place transactions in the block template in random order, so two different p2pool nodes mining to the same wallet will get different sidechain IDs with high probability if there's more than 2-3 transactions in mempool.
2022-10-10 21:50:33 +02:00
SChernykh
d8bb85a1d8
Fix: api didn't always save total hashes
2022-10-09 18:17:01 +02:00
SChernykh
fd6b2360aa
Fix: uv_close was called from wrong thread
2022-10-07 16:02:08 +02:00
SChernykh
3e655961e9
Merge pull request #206 from SChernykh/reduce_memory
...
Reduced memory usage
2022-10-06 20:01:55 +03:00
SChernykh
077837054b
Optimized TxOutput struct
2022-10-04 21:03:56 +02:00
SChernykh
45674ef554
Better cache cleanup
2022-10-04 20:04:41 +02:00
SChernykh
eabf856dbd
Removed redundant m_sideChainData
2022-10-04 15:49:58 +02:00