Commit Graph

2211 Commits

Author SHA1 Message Date
Luke Dashjr
a0a7a60212 Merge restore_blockmaxsize 2025-03-05 03:27:08 +00:00
Luke Dashjr
cf49d58bff Merge restore_feefilter_opt 2025-03-05 03:27:08 +00:00
Luke Dashjr
8bcb122421 Merge 30951 via v2onlyclearnet-28+knots 2025-03-05 03:27:08 +00:00
Luke Dashjr
9468bae9ef Merge 18223 via blockfilter_v0 2025-03-05 03:27:08 +00:00
Luke Dashjr
0ef0693711 Merge 15421 via tor_subprocess-28+knots 2025-03-05 03:27:08 +00:00
Luke Dashjr
bb95ff82e0 torcontrol: Launch a private Tor instance when not already running 2025-03-05 23:04:30 +00:00
Luke Dashjr
f6400ffc58 Merge 15218 via postibd_flush-28 2025-03-05 03:27:08 +00:00
Luke Dashjr
560ef5631a Merge 10554 via zmq_wtx-28+knots 2025-03-05 03:27:08 +00:00
Luke Dashjr
962511f17b Merge 10615 via multiwallet_rpc-28+knots 2025-03-05 03:27:08 +00:00
Luke Dashjr
8646f7adcf Merge 8501 via old_stats_rpc-28 2025-03-05 03:27:08 +00:00
Luke Dashjr
a219cacbf5 Merge 31845 via pruneduringinit-28+knots 2025-03-05 03:27:08 +00:00
Luke Dashjr
ec174daacb Merge whitelist_outgoing_auto 2025-03-05 03:27:08 +00:00
Luke Dashjr
73691fbf13 Merge 22372 via multinotify 2025-03-05 03:27:08 +00:00
Luke Dashjr
6e151c3f60 Merge 22072 via autoreindex 2025-03-05 03:27:08 +00:00
Luke Dashjr
59ccec7495 Merge 20407 via rpcauthfile-28+knots 2025-03-05 03:27:08 +00:00
Luke Dashjr
2fc6668792 Merge 19873 via mempressure 2025-03-05 03:27:08 +00:00
Luke Dashjr
4d64e9e4a9 Merge 19242 via uaappend 2025-03-05 03:27:08 +00:00
Luke Dashjr
a5e45fc1e0 Merge 18972 via neutrino_whitelist-mini 2025-03-05 03:27:08 +00:00
Luke Dashjr
add2386fdc Merge 30059 via dbfilesize_param 2025-03-05 03:27:08 +00:00
Luke Dashjr
ff1b8720f3 Merge 31674 via lock_blocksdir-28 2025-03-05 03:27:08 +00:00
Luke Dashjr
771789a300 Merge 31212 via improve_args_pr31212-28 2025-03-05 03:27:08 +00:00
Luke Dashjr
8c4f8f4080 Merge 29678 via fix_init_lowdisk_warning_reqd^ 2025-03-05 03:27:08 +00:00
Luke Dashjr
04db65df5e Merge acceptstalefeeestimates_mainnet_opt 2025-03-05 03:27:08 +00:00
Andrew Toth
2f1bf089f7 validation: sync utxo state after block sync
Github-Pull: #15218
Rebased-From: eb8bc8351017808333ed507eb5cc7bf74cce23ea
2025-02-21 16:30:46 +00:00
Luke Dashjr
2b1cee736f doc: Document rpcauth wallet restriction feature 2025-02-21 16:30:03 +00:00
Luke Dashjr
38698fecf6 Merge branch 'improve_args_pr31212-28' into multiwallet_rpc-28+knots 2025-02-21 16:29:54 +00:00
Luke Dashjr
29c039268c Add -pruneduringinit option to temporarily use another prune target during IBD 2025-02-12 22:42:47 +00:00
Luke Dashjr
1d06e531b1 Make -v2onlyclearnet a hidden option 2025-01-28 00:28:54 +00:00
stratospher
f69ca7fd32 init: add -v2onlyclearnet config option
if this option is set by the user, v1 connections on unencrypted
networks like IPV4/IPV6 will be disallowed. Only users with real
need are recommended to turn this on because it could risk network
partitioning in the unlikely scenario that everyone turns it on.

Github-Pull: #30951
Rebased-From: 9d23891673cede6c5139145173c269186087ed72
2025-01-28 00:28:44 +00:00
Luke Dashjr
ca56c7c9c4 Diff-minimise 2025-01-25 16:04:47 +00:00
Cory Fields
fac2c9e1a5 init: lock blocksdir in addition to datadir
This guards against 2 processes running with separate datadirs but the same
blocksdir.

It's not likely to happen currently, but may be more relevant in the future
with applications using the kernel.

Note that the kernel does not currently do any dir locking, but it should.

Github-Pull: #31674
Rebased-From: bdc0a68e67
2025-01-25 16:04:47 +00:00
Cory Fields
68e55e2818 refactor: introduce a more general LockDirectories for init
No functional change. This is in preparation for adding additional directory
locks on startup.

Github-Pull: #31674
Rebased-From: cabb2e5c24
2025-01-25 16:04:47 +00:00
Luke Dashjr
ac87dbe333 Restore blockmaxsize option, allowing to limit mined blocks by byte size 2025-01-17 01:51:06 +00:00
Hodlinator
c850b5be46 args: Support -nopid
Github-Pull: #31212
Rebased-From: bffd92f00f
2025-01-08 18:48:13 +00:00
Martin Zumsande
bbde830b97
net, init: derive default onion port if a user specified a -port
After port collisions are no longer tolerated but lead to
a startup failure in v28.0, local setups of multiple nodes,
each with a different -port value would not be possible anymore
due to collision of the onion default port - even if the nodes
were using tor or not interested in receiving onion inbound connections.

Fix this by deriving the onion listening port to be -port + 1.
(idea by vasild / laanwj)

Co-authored-by: Vasil Dimov <vd@FreeBSD.org>

Github-Pull: bitcoin/bitcoin#31223
Rebased-From: 0e2b12b92a
2024-12-13 21:15:23 -05:00
Luke Dashjr
5bfb217389 Validate zmqpubhashwallettx and zmqpubrawwallettx port numbers
Based on 04526787b5
2024-11-24 23:50:25 +00:00
Doron Somech
7b41419e8d ZMQ: add publishers of wallet tx
Topic will indicate if transaction came from mempool or block so developers can handle the transaction accordingly without a RPC round trip to bitcoind.

(includes ZMQ: Making CWallet::TransactionAddedToWallet static)
2024-11-24 23:44:39 +00:00
Jonas Schnelli
3df9b3405d Add configuration options for mempool stats 2024-11-21 21:37:13 +00:00
furszy
c6b5db1d59
assumeUTXO: fix peers disconnection during sync
Because AssumeUTXO nodes prioritize tip synchronization, they relay their local
address through the network before completing the background chain sync.
This, combined with the advertising of full-node service (NODE_NETWORK), can
result in an honest peer in IBD connecting to the AssumeUTXO node (while syncing)
and requesting an historical block the node does not have. This behavior leads to
an abrupt disconnection due to perceived unresponsiveness (lack of response)
from the AssumeUTXO node.

This lack of response occurs because nodes ignore getdata requests when they do
not have the block data available (further discussion can be found in PR 30385).

Fix this by refraining from signaling full-node service support while the
background chain is being synced. During this period, the node will only
signal 'NODE_NETWORK_LIMITED' support. Then, full-node ('NODE_NETWORK')
support will be re-enabled once the background chain sync is completed.

Github-Pull: bitcoin/bitcoin#30807
Rebased-From: 6d5812e5c8
2024-09-11 13:42:51 -04:00
Luke Dashjr
a9f6f721aa net: Apply outgoing connection permissions to automatic outgoing connections 2024-09-06 20:27:54 +00:00
Aaron Dewes
342e615531 Add reindex=auto flag to automatically reindex corrupt data
This PR allows the reindex flag to be set to auto, which automatically starts a reindex if the chain state or block index are corrupt.
This can be especially useful for  Raspberry Pi based full nodes, which often experience power outages or similar issues which can corrupt data.
It allows full node operators to make Bitcoin Core reindex automatically, without having to worry about removing the reindex flag again. (Which isn't much effort, but can be annoying to forget)

Github-Pull: #22072
Rebased-From: 602f4da9178dff11853431f9a7115194f6a016ac
2024-09-04 02:32:07 +00:00
João Barbosa
bcc9e07d1e rpc: Support -rpcauthfile argument
This argument is similar to -rpcauth but takes the value from the
specified file content
2024-09-03 13:58:19 +00:00
Luke Dashjr
c75d947720 Add -uaappend option to append a literal string to user agent
This can be used by other software that controls the node instance (eg, ABCore)
2024-09-03 01:24:36 +00:00
Luke Dashjr
d153093ba2 net: Add blockfilters white{bind,list} permission flag 2024-09-03 00:02:09 +00:00
Luke Dashjr
4c62285bb9 Bugfix: init: For first-run disk space check, advise user of correct pruned size rather than full blockchain size 2024-09-02 19:52:35 +00:00
Luke Dashjr
4f06564f36 Bugfix: init: Correct conversion of AssumedBlockchainSize to use GB 2024-09-02 19:52:34 +00:00
Luke Dashjr
a303cde2fd Allow acceptstalefeeestimates on all networks 2024-08-30 17:28:45 +00:00
Ava Chow
da083d4bbd
Merge bitcoin/bitcoin#29775: Testnet4 including PoW difficulty adjustment fix
6bfa26048d testnet: Add timewarp attack prevention for Testnet4 (Fabian Jahr)
0100907ca1 testnet: Add Testnet4 difficulty adjustment rules fix (Fabian Jahr)
74a04f9e7a testnet: Introduce Testnet4 (Fabian Jahr)

Pull request description:

  To supplement the [ongoing conceptual discussion about a testnet reset](https://groups.google.com/g/bitcoindev/c/9bL00vRj7OU/m/9yCPo3uUBwAJ) I have drafted a move to v4 including a fix to the difficulty adjustment mechanism, which was part of the motivation that started the discussion.

  Conceptual considerations:
  - The conceptual discussion about doing a testnet4 or softforking the fix into testnet3 is outside of the scope of this PR and I would ask reviewers to contribute their opinions on this on the ML instead. However, I am happy to adapt this PR to a softfork change on testnet3 if there is consensus for that instead.
  - The difficulty adjustment fix suggested here touches the `CalculateNextWorkRequired` function and uses the same logic used in `GetNextWorkRequired` to find the last previous block that was not mined with difficulty 1 under the exceptionf. An alternative fix briefly mentioned on the mailing list by Jameson Lopp would be to "restrict the special testnet minimum difficulty rule so that it can't be triggered on the block right before a difficulty retarget". That would also fix the issue but I find my suggestion here a bit more elegant.

ACKs for top commit:
  jsarenik:
    tACK 6bfa26048d
  achow101:
    ACK 6bfa26048d
  murchandamus:
    tACK 6bfa26048d

Tree-SHA512: 0b8b69a621406a944da5be551b863d065358ba94d85dd3b80d83c412660e230ee93b27316081fbee9b4851cc4ff8585db64c7dfa26cb5148ac835663f2712c3d
2024-08-07 13:05:04 -04:00
glozow
1f93e3c360 add deprecation warning for mempoolfullrbf 2024-08-07 10:19:52 +01:00
Fabian Jahr
74a04f9e7a
testnet: Introduce Testnet4 2024-08-06 01:38:10 +02:00