83 Commits

Author SHA1 Message Date
SatsAndSports
b0c706795c Remove unreliable seed from chainparams.cpp, and the associated README 2025-10-29 07:56:46 +01:00
Hodlinator
cc5dda1de3
headerssync: Make HeadersSyncState more flexible and move constants
Move calculated constants from the top of src/headerssync.cpp into src/kernel/chainparams.cpp.

Instead of being hardcoded to mainnet parameters, HeadersSyncState can now vary depending on chain or test. (This means we can reset TARGET_BLOCKS back to the nice round number of 15'000).

Signet and testnets got new HeadersSyncParams constants through temporarily altering headerssync-params.py with corresponding GENESIS_TIME and MINCHAINWORK_HEADERS (based off defaultAssumeValid block height comments, corresponding to nMinimumChainWork). Regtest doesn't have a default assume valid block height, so the values are copied from Testnet 4. Since the constants only affect memory usage, and have very low impact unless dealing with a largely malicious chain, it's not that critical to keep updating them for non-mainnet chains.

GENESIS_TIMEs (UTC):
Testnet3: 1296688602 = datetime(2011, 2, 2)
Testnet4: 1714777860 = datetime(2024, 5, 3)
Signet: 1598918400 = datetime(2020, 9, 1)
2025-09-12 22:28:41 +02:00
fanquake
755152ac81
kernel: add testnet4 assumeutxo param at height 90'000 2025-09-02 11:59:48 +01:00
fanquake
a6512686e3
kernel: add mainnet assumeutxo param at height 910'000 2025-09-02 11:59:48 +01:00
fanquake
66fb962426
kernel: update chainTxData 2025-09-02 11:59:47 +01:00
fanquake
c3cb26e028
kernel: update assumevalid and minimumChainWork 2025-09-02 11:59:45 +01:00
fanquake
b4adae76d4
kernel: update assumed blockchain & chainstate sizes 2025-09-02 11:59:01 +01:00
MarcoFalke
face8123fd
log: [refactor] Use info level for init logs
This refactor does not change behavior.
2025-07-25 09:50:50 +02:00
MarcoFalke
faf6304bdf
test: Use mockable time in GuessVerificationProgress
Also add a test.
2025-05-20 11:16:35 +02:00
MarcoFalke
fa330a5e38
doc: Adjust stale MSVC bug url 2025-05-19 12:30:56 +02:00
Ava Chow
19b1e177d6
Merge bitcoin/bitcoin#32155: miner: timelock the coinbase to the mined block's height
a58cb3b1c12c8cb75a87375c50f94c4605bb805d qa: sanity check mined block have their coinbase timelocked to height (Antoine Poinsot)
8f2078af6a55448c003b3f7f3021955fbb351caa miner: timelock coinbase transactions (Antoine Poinsot)
788aeebf343526760fa8f3ed969ac3713212a5b6 qa: use prev height as nLockTime for coinbase txs created in unit tests (Antoine Poinsot)
c76dbe9b8b6f03b761a0ef97e1b8cd133b934714 qa: timelock coinbase transactions created in fuzz targets (Antoine Poinsot)
9c94069d8b6cf67a24eb03c51230a4f2b2bf2d64 contrib: timelock coinbase transactions in signet miner (Antoine Poinsot)
a5f52cfcc400ad0adb41a78c65b8abb971e0d622 qa: timelock coinbase transactions created in functional tests (Antoine Poinsot)

Pull request description:

  The Consensus Cleanup soft fork proposal includes enforcing that coinbase transactions set their
  nLockTime field to the block height minus 1, as well as their nSequence such as to not disable the
  timelock. If such a fork were to be activated by Bitcoin users, miners need to be ready to produce
  compliant blocks at the risk of losing substantial amounts mining would-be invalid blocks. As miners
  are unfamously slow to upgrade, it's good to make this change as early as possible.

  Although Bitcoin Core's GBT implementation does not provide the `coinbasetxn` field, and mining
  pool software crafts the coinbase on its own, updating the Bitcoin Core mining code is a first step
  toward convincing pools to update their (often closed source) code. A possible followup is also to
  introduce new fields to GBT. In addition, this first step also makes it possible to test future
  Consensus Cleanup changes.

  The commit making the change also updates a bunch of seemingly-unrelated tests. This is because those tests were asserting error messages based on the txid of transactions involved, and changing the coinbase transaction structure necessarily changes the txid of all tests' transactions.

ACKs for top commit:
  Sjors:
    Code review ACK a58cb3b1c12c8cb75a87375c50f94c4605bb805d
  achow101:
    ACK a58cb3b1c12c8cb75a87375c50f94c4605bb805d
  TheCharlatan:
    Re-ACK a58cb3b1c12c8cb75a87375c50f94c4605bb805d

Tree-SHA512: a2aae009a187eb760d34435f518a895ee76c6b02a667eb030ddf6bd584da6e8eae2737d974dbf81a928d60c07bcb4820f055adc067e18d8819640db0240bb513
2025-05-09 15:09:27 -07:00
Ava Chow
7db096121d
Merge bitcoin/bitcoin#29039: versionbits refactoring
e3014017bacff42d8d69f3061ce1ee621aaa450a test: add IsActiveAfter tests for versionbits (Anthony Towns)
60950f77c35e54e2884cfc14ab67623f3e325099 versionbits: docstrings for BIP9Info (Anthony Towns)
7565563bc7a5bb98ebf03a7d6881912a74d3f302 tests: refactor versionbits fuzz test (Anthony Towns)
2e4e9b9608c722aaf767638e9dba498d8dc3e772 tests: refactor versionbits unit test (Anthony Towns)
525c00f91bb27d0f2a1b2e5532aebec7fac97d3a versionbits: Expose VersionBitsConditionChecker via impl header (Anthony Towns)
e74a7049b477d1853191ded75fdf25024a6e233f versionbits: Expose StateName function (Anthony Towns)
d00d1ed52c8ee95eeed665d68d6715a694bd4c1f versionbits: Split out internal details into impl header (Anthony Towns)
37b9b67a39554465104c9cf1a74690f40019dbad versionbits: Simplify VersionBitsCache API (Anthony Towns)
1198e7d2fd665bf2bc49fd26773d4fd5fbc2b716 versionbits: Move BIP9 status logic for getblocktemplate to versionbits (Anthony Towns)
b1e967c3ec92738affb22d3b58483ebcdd8dfea2 versionbits: Move getdeploymentinfo logic to versionbits (Anthony Towns)
3bd32c20550e69688a4ff02409fb34b9a637b9c4 versionbits: Move WarningBits logic from validation to versionbits (Anthony Towns)
5da119e5d0e61f0b583f0fe21b9a00ee815a3e46 versionbits: Change BIP9Stats to uint32_t types (Anthony Towns)
a679040ec19ef17f3f03988a52207f1c03af701e consensus/params: Move version bits period/threshold to bip9 param (Anthony Towns)
e9d617095d4ce9525a4337d33624cac9d6b4abe6 versionbits: Remove params from AbstractThresholdConditionChecker (Anthony Towns)
9bc41f1b48b2e0cc6abf9714e860a29989d7809c versionbits: Use std::array instead of C-style arrays (Anthony Towns)

Pull request description:

  Increases the encapsulation/modularity of the versionbits code, moving more of the logic into the versionbits module rather than having it scattered across validation and rpc code. Updates unit/fuzz tests to test the actual code used rather than just a close approximation of it.

ACKs for top commit:
  achow101:
    ACK e3014017bacff42d8d69f3061ce1ee621aaa450a
  TheCharlatan:
    Re-ACK e3014017bacff42d8d69f3061ce1ee621aaa450a
  darosior:
    ACK e3014017bacff42d8d69f3061ce1ee621aaa450a

Tree-SHA512: 2978db5038354b56fa1dd6aafd511099e9c16504d6a88daeac2ff2702c87bcf3e55a32e2f0a7697e3de76963b68b9d5ede7976ee007e45862fa306911194496d
2025-04-29 14:06:45 -07:00
Antoine Poinsot
8f2078af6a miner: timelock coinbase transactions
The Consensus Cleanup soft fork proposal includes enforcing that coinbase transactions set their
locktime field to the block height, minus 1 (as well as their nSequence such as to not disable the
timelock). If such a fork were to be activated by Bitcoin users, miners need to be ready to produce
compliant blocks at the risk of losing substantial amounts mining would-be invalid blocks. As miners
are unfamously slow to upgrade, it's good to make this change as early as possible.

Although Bitcoin Core's GBT implementation does not provide the "coinbasetxn" field, and mining
pool software crafts the coinbase on its own, updating the Bitcoin Core mining code is a first step
toward convincing pools to update their (often closed source) code. A possible followup is also to
introduce new fields to GBT. In addition, this first step also makes it possible to test future
Consensus Cleanup changes.

The changes to the seemingly-unrelated RBF tests is because these tests assert an error message
which may vary depending on the txid of the transactions used in the test. This commit changes the
coinbase transaction structure and therefore impact the txid of transactions in all tests.

The change to the "Bad snapshot" error message in the assumeutxo functional test is because this
specific test case reads into the txid of the next transaction in the snapshot and asserts the error
message based it gets on deserializing this txid as a coin for the previous transaction. As this
commit changes this txid it impacts the deserialization error raised.
2025-04-25 12:44:08 -04:00
Antoine Poinsot
c76dbe9b8b qa: timelock coinbase transactions created in fuzz targets 2025-04-25 12:44:08 -04:00
merge-script
2db00278ea
Merge bitcoin/bitcoin#31910: qa: fix an off-by-one in utxo snapshot fuzz target and sanity check its snapshot data
63b534f97e591d4e107fd5148909852eb2965d27 fuzz: sanity check hardcoded snapshot in utxo_snapshot target (Antoine Poinsot)
3b85eba83abe561078c91f5a5c49cf26c682c19b test util: split up ConnectBlock from MineBlock (Antoine Poinsot)
d1527f6b88656ff4aab3c671c6d9780ea2ae986e qa: correct off-by-one in utxo snapshot fuzz target (Antoine Poinsot)

Pull request description:

  The assumeutxo data for the fuzz target could change and invalidate the hash silently, preventing the fuzz target from reaching some code paths. Fix this by introducing a unit test which would break if the snapshot data the fuzz target relies on were to change.

  In implementing this i noticed the height used for coins in the fuzz target is actually off-by-one (as if the first block in the created chain was the genesis but it's block `1`), so fix that too.

ACKs for top commit:
  mzumsande:
    Code Review ACK 63b534f97e591d4e107fd5148909852eb2965d27
  fjahr:
    tACK 63b534f97e591d4e107fd5148909852eb2965d27

Tree-SHA512: 2399b6e74db9b78aab8efba67c57a405d2d7d880ae3b7d8518a1c96cc6266f61f5e77722cd999adeac5d3e03e73d84cf9ae7bdbcc0afae198cc87049dde4012f
2025-03-21 16:46:54 +08:00
marcofleon
3c5d1a4681 Remove checkpoints
The headers presync logic should be enough to prevent memory DoS using
low-work headers. Therefore, we no longer have any use for checkpoints.
2025-03-13 11:13:13 +00:00
Jon Atack
48f07ac9da chainparams: remove hardcoded signet seeds 2025-03-06 15:39:58 -06:00
Jon Atack
d4ab1150c4 chainparams: add signet fixed seeds if default network 2025-03-06 15:39:58 -06:00
merge-script
9f3dcacef7
Merge bitcoin/bitcoin#31978: kernel: pre-29.x chainparams and headerssync update
11a2d3a63e90cdc1920ede3c67d52a9c72860e6b [headerssync] update headerssync config for v29 (glozow)
dd23c532581f56423047842f4dcbc2c04bd88136 [kernel] update chainTxData for v29 (glozow)
80926af8c2624193f57cf3352233e310d7ae2d09 [kernel] update assumevalid and minimumChainWork for v29 (glozow)
0683b8ebf33386d5c05140df89df10b1853d7c7e [kernel] update assumed blockchain and chainstate sizes for v29 (glozow)

Pull request description:

  Update chainparams and headerssync config for v29.0 (see [release process](https://github.com/bitcoin/bitcoin/blob/master/doc/release-process.md#before-branch-off)).

ACKs for top commit:
  achow101:
    ACK 11a2d3a63e90cdc1920ede3c67d52a9c72860e6b
  Sjors:
    ACK 11a2d3a63e90cdc1920ede3c67d52a9c72860e6b

Tree-SHA512: 726cbb16a3bc8b11419c2888b17552d70217f616f17a715ba4983fdfccb0cfd9705c528601a6bb3e62563a6f43d41543181e13cdbad89d75abba3b7899328031
2025-03-06 10:23:01 +00:00
glozow
dd23c53258 [kernel] update chainTxData for v29 2025-03-04 14:23:18 -05:00
glozow
80926af8c2 [kernel] update assumevalid and minimumChainWork for v29 2025-03-04 14:23:18 -05:00
glozow
0683b8ebf3 [kernel] update assumed blockchain and chainstate sizes for v29 2025-03-04 14:23:17 -05:00
Sjors Provoost
14f1674855
chainparams: add mainnet assumeutxo param at height 880_000 2025-03-01 10:53:48 -05:00
Antoine Poinsot
d1527f6b88 qa: correct off-by-one in utxo snapshot fuzz target
The chain starts at block 1, not genesis.
2025-02-19 16:12:35 -05:00
Anthony Towns
a679040ec1 consensus/params: Move version bits period/threshold to bip9 param
Rather than having the rule change period/threshold be constant for all
potential deployments on a chain, have it be specific to the deployment
itself. This both matches history (BIP 9 specified a 2016 block period
and 1916 block threshold; BIP 91 specified a 336 block period and 269
block threshold; and BIP 341 specified a 2016 block period and 1815
block threshold), and allows the code to be simplified, as only the
BIP9Deployment structure is needed, not the full Consensus::Params
structure.
2025-01-21 00:38:02 +10:00
Martin Zumsande
fc7dfb3df5 test: Don't enforce BIP94 on regtest unless specified by arg
The added regtest option -test=bip94 is only used in the functional
test for BIP94.
This is done because the default regtest consensus rules
should aim to follow to mainnet, not testnet.
2024-10-28 11:38:38 -04:00
Lőrinc
5e190cd11f Replace CScript _hex_v_u8 appends with _hex
This will skip vector conversion before serializing to the prevector in CScript.
2024-09-11 17:41:27 +02:00
Hodlinator
50bc017040
refactor: Hand-replace some ParseHex -> ""_hex
The following scripted-diff commit will replace ParseHex("...") with "..."_hex_u8, but this replacement will not work in cases where vectors are needed instead of arrays, and is not ideal in cases where std::byte is accepted.

For example, it is currently necessary to use _hex_v_u8 when calling CScript operator<< because that operator does not currently support std::array or std::byte.

Conversely, it is incorrect to use _hex_v instead of _hex in net_processing.cpp for the MakeAndPushMessage argument, because if the argument is a std::vector it is considered variable-length and serialized with a size prefix, but if the argument is a std::array or Span is it considered fixed length and serialized without a prefix.

By the same logic, it is also safe to change the NUMS_H constant in pubkey.cpp from a std::vector to std::array because it is never serialized.
2024-08-28 19:11:59 +02:00
merge-script
80f00cafde
Merge bitcoin/bitcoin#29071: refactor: Remove Span operator==, Use std::ranges::equal
fad0cf6f2619df8df435a2da6da49eeb5510a10f refactor: Use std::ranges::equal in GetNetworkForMagic (MarcoFalke)
fadf0a7e15d66ba3230153e789b785e6cf8ab84c refactor: Remove Span operator==, Use std::ranges::equal (MarcoFalke)

Pull request description:

  `std::span` removed the comparison operators, so it makes sense to remove them for the `Span` "backport" as well. Using `std::ranges::equal` also has the benefit that some `Span` temporary constructions can now be dropped.

  This is required to move from `Span` toward `std::span`.

ACKs for top commit:
  hodlinator:
    Untested Code Review re-ACK fad0cf6
  stickies-v:
    ACK fad0cf6f2619df8df435a2da6da49eeb5510a10f
  TheCharlatan:
    ACK fad0cf6f2619df8df435a2da6da49eeb5510a10f

Tree-SHA512: 5b9d1826ceac2aabae2295bc89893dd23ac3a1cc0d41988331cdbdc21be531aa91795d5273819f349f79648c6c4f30ed31af6e7a3816153e92080061b92ffe00
2024-08-28 10:34:47 +01:00
merge-script
f4a10911c7
Merge bitcoin/bitcoin#30721: refactor: Testnet4 - Replace uint256S("str") -> uint256{"str"}
49f9b645ea3f42c1b9e0a83b26af8fc8f6fa159d refactor: Testnet4 - Replace uint256S("str") -> uint256{"str"} (Hodlinator)

Pull request description:

  Ran scripted-diff from 2d9d752e4fc30aabf2ddd36ca7a63432d26d4fea:
  ```
  sed -i --regexp-extended -e 's/\buint256S\("(0x)?([^"]{64})"\)/uint256{"\2"}/g' $(git grep -l uint256S)
  ```

  Follow-up to Testnet4 introduction #29775 which overlapped with work on `uint256` `consteval` ctor #30560 (the latter includes the scripted-diff commit).

  Going forward `uint256{}` should be used for constants instead of `uint256S()`.

ACKs for top commit:
  maflcko:
    review-ACK 49f9b645ea3f42c1b9e0a83b26af8fc8f6fa159d 🐮
  fjahr:
    ACK 49f9b645ea3f42c1b9e0a83b26af8fc8f6fa159d

Tree-SHA512: 94fe5d9f1fb85e9ce5c3c4c5e4c31667e8cbb55ee691a4b5b3ae4172ccac38230281071023663965917f188b4c19bdf67afd4e3cdf69d89e97c65faea88af833
2024-08-28 09:42:20 +01:00
Hodlinator
49f9b645ea
refactor: Testnet4 - Replace uint256S("str") -> uint256{"str"}
Ran scripted-diff from 2d9d752e4fc30aabf2ddd36ca7a63432d26d4fea.

Follow-up to #29775 which overlapped with work on #30560 (the latter includes the scripted-diff commit).
2024-08-27 11:14:53 +02:00
Ava Chow
c88a7dc53e chainparams: Remove seed.bitcoinstats.com
This seeder no longer appears to be serving sufficient addresses.
2024-08-26 15:44:22 -04:00
glozow
55d663cb15
Merge bitcoin/bitcoin#30658: kernel: pre-28.x chainparams and headerssync update
221809b81cfcecb04050915eebacffda2599da42 headerssync: Update headerssync configuration (Ava Chow)
c2707446f745015d279af663e181219757ad6eb7 params: Update assumevalid and minimum chainwork (Ava Chow)
255d4514d3cd9f545f1d3eca5bbda8d8c90ee351 params: Update chainTxData (Ava Chow)
6a5bdae3225117651708aa430e04b6da58387cf2 params: Update assumed blockchain and chainstate sizes (Ava Chow)

Pull request description:

  Update chainparams and headerssync parameters for the pre-28.x branching, per https://github.com/bitcoin/bitcoin/blob/master/doc/release-process.md#before-branch-off

ACKs for top commit:
  fjahr:
    re-ACK 221809b81cfcecb04050915eebacffda2599da42
  Sjors:
    re-ACK 221809b81cfcecb04050915eebacffda2599da42
  glozow:
    ACK 221809b81cfcecb04050915eebacffda2599da42
  marcofleon:
    ACK 221809b81cfcecb04050915eebacffda2599da42

Tree-SHA512: 5106d59f46dbe167fffa339519e52975ae5bfd7e52202d76ec058da0d4e8bf87355e90678f7ace7c8c402a2f7264050a0355680b9f727c7962ff60e8fcdb3a90
2024-08-22 17:19:50 +01:00
Sjors Provoost
e85f386c4b
consensus: enable BIP94 on regtest 2024-08-20 13:25:00 +02:00
Sjors Provoost
dd154b0568
consensus: lower regtest nPowTargetTimespan to 144
This currently has no effect due to fPowNoRetargeting,
except for the getnetworkhashps when called with -1.

It will when the next commit enforces the timewarp attack mitigation on regtest.
2024-08-20 10:07:30 +02:00
Ava Chow
c2707446f7 params: Update assumevalid and minimum chainwork 2024-08-16 11:20:48 -04:00
Ava Chow
255d4514d3 params: Update chainTxData 2024-08-16 11:20:48 -04:00
Ava Chow
6a5bdae322 params: Update assumed blockchain and chainstate sizes 2024-08-16 11:20:46 -04:00
Ava Chow
0a379a129b
Merge bitcoin/bitcoin#28553: validation: assumeutxo params mainnet
1610643c8b37a9f674b236cfa79abf8f8aaf1410 chainparams: add mainnet assumeutxo param at height 840_000 (Sjors Provoost)

Pull request description:

  This adds snapshot parameters for mainnet block 840,000.

  You can generate the snapshot yourself using `./contrib/devtools/utxo_snapshot.sh` or download my torrent:
  * torrent: `magnet:?xt=urn:btih:596c26cc709e213fdfec997183ff67067241440c&dn=utxo-840000.dat&tr=udp%3A%2F%2Ftracker.bitcoin.sprovoost.nl%3A6969`

  It would be a good idea to test:
  1. That you can produce the same snapshot file, sha256 sum:

  ```
  dc4bb43d58d6a25e91eae93eb052d72e3318bd98ec62a5d0c11817cefbba177b utxo-840000.dat
  ```

  2. That the snapshot works

ACKs for top commit:
  fjahr:
    re-ACK 1610643c8b37a9f674b236cfa79abf8f8aaf1410
  achow101:
    ACK 1610643c8b37a9f674b236cfa79abf8f8aaf1410
  theStack:
    Tested ACK 1610643c8b37a9f674b236cfa79abf8f8aaf1410
  mzumsande:
    tested ACK 1610643c8b37a9f674b236cfa79abf8f8aaf1410
  willcl-ark:
    tACK 1610643c8b37a9f674b236cfa79abf8f8aaf1410

Tree-SHA512: 581d8e86379bb044324f04f8559dd0a8946b6e2b145d5f25b38727b30b8cf13d6ac3c8777ff06554d3cf1a072809f7b5fbd693239868578f25dceafe5ba5f57c
2024-08-14 12:16:28 -04:00
MarcoFalke
fad0cf6f26
refactor: Use std::ranges::equal in GetNetworkForMagic
Replace std::equal with std::ranges::equal, because it allows for
shorter code, because no pointers or iterators have to be passed
explicitly.
2024-08-13 07:57:36 +02:00
Fabian Jahr
b0ec8716bf
chainparams: Handle Testnet4 in GetNetworkForMagic 2024-08-10 22:19:42 +02:00
Sjors Provoost
1610643c8b
chainparams: add mainnet assumeutxo param at height 840_000 2024-08-10 08:53:42 +02:00
Fabian Jahr
1163b08378
chainparams: Add initial minimum chain work for Testnet4
This chainwork was observed at height 38487.
2024-08-07 21:39:19 +02:00
Fabian Jahr
74a04f9e7a
testnet: Introduce Testnet4 2024-08-06 01:38:10 +02:00
Hodlinator
2d9d752e4f
scripted-diff: Replace uint256S("str") -> uint256{"str"}
-BEGIN VERIFY SCRIPT-
sed -i --regexp-extended -e 's/\buint256S\("(0x)?([^"]{64})"\)/uint256{"\2"}/g' $(git grep -l uint256S)
-END VERIFY SCRIPT-
2024-08-05 14:51:48 +02:00
Hodlinator
c06f2368e2
refactor: Hand-replace some uint256S -> uint256
chainparams.cpp - workaround for MSVC bug triggering C7595 - Calling consteval constructors in initializer lists fails, but works on GCC (13.2.0) & Clang (17.0.6).
2024-08-05 14:51:47 +02:00
Fabian Jahr
bf0efb4fc7
scripted-diff: Modernize naming of nChainTx and nTxCount
-BEGIN VERIFY SCRIPT-
sed -i 's/nChainTx/m_chain_tx_count/g' $(git grep -l 'nChainTx' ./src)
sed -i 's/nTxCount/tx_count/g' $(git grep -l 'nTxCount' ./src)
-END VERIFY SCRIPT-
2024-08-04 14:24:43 +02:00
Martin Zumsande
de71d4dece fuzz: improve utxo_snapshot target
Add the possibility of giving more guidance to the creation of the
metadata and/or coins, so that the fuzzer gets the chance
to reach more error conditions in ActivateSnapshot and sometimes
successfully creates a valid snapshot.

This also changes the asserts for the success case that were outdated,
and only didn't result in a crash because the fuzzer wasn't able
to reach this code before.
2024-07-04 20:12:47 -04:00
merge-script
3f0ee7655b
Merge bitcoin/bitcoin#30007: chainparams: Add achow101 DNS seeder
2721d64989c2b2114890586b7efd01ab4b062ca6 chainparams: Add achow101 DNS seeder (Ava Chow)

Pull request description:

  I wrote a [DNS seeder](https://github.com/achow101/dnsseedrs) and have been running it for the past 2 months now. I believe it is ready/good enough to be used as an additional DNS seeder for all of our supported public networks.

ACKs for top commit:
  laanwj:
    ACK 2721d64989c2b2114890586b7efd01ab4b062ca6
  1440000bytes:
    ~~reACK 2721d64989~~
  mzumsande:
    ACK 2721d64989c2b2114890586b7efd01ab4b062ca6
  willcl-ark:
    reACK 2721d64989c2b2114890586b7efd01ab4b062ca6

Tree-SHA512: 857a6cf7dd33962f0008a89db4d6b57d3c6aa622704cdcca6ab710babeead3a2970d9a6fa190949c7bbf7cb7d006e814d6314be3d8c8180eed29013c7c1ac7e1
2024-06-26 11:43:58 +01:00
Ava Chow
429ec1aaaa refactor: Rename CTransaction::nVersion to version
In order to ensure that the change of nVersion to a uint32_t in the
previous commit has no effect, rename nVersion to version in this commit
so that reviewers can easily spot if a spot was missed or if there is a
check somewhere whose semantics have changed.
2024-06-07 13:55:23 -04:00