You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit a37500b
Browse filesBrowse the repository at this point in the historyBrowse files
fix(evo): require IPv4 primary addresses until masternodes may run without IPv4
Extended addresses let a masternode list IPv6 and privacy-network
addresses, but the rest of the system still expects masternodes to reach
each other over IPv4: GetPrimary() is the address peers and quorum
members dial, CActiveMasternodeManager only accepts an IPv4 local
address, and the legacy platform{P2P,HTTP}Port fields assume Platform
runs on the Core address. Nothing required a version 3 ProTx to keep
any of that.
Require the first Core P2P entry to be IPv4, and the first Platform
entries to use that address, until a new DEPLOYMENT_IPV4_OPTIONAL
activates. Its activation mechanism isn't defined yet, so for now it is
a height: never on mainnet, always on testnet and devnets, which already
have version 3 ProTxs without IPv4 primaries, and settable on regtest
with -testactivationheight=ipv4_optional@<height> (default never, like
mainnet).
The rule depends on the block a ProTx is mined in, so it is checked in
CheckProviderNetworkFields() through SpecialTxRules, not in
ExtNetInfo::Validate(), which snapshot loading also runs on stored
masternode states without a height. The RPC and GUI pre-checks evaluate
it at the chain tip.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
argsman.AddArg("-llmqtestplatformparams=<size>:<threshold>", "Override the default LLMQ size for the LLMQ_TEST_PLATFORM quorum (default: 3:2, regtest-only)", ArgsManager::ALLOW_ANY | ArgsManager::DEBUG_ONLY, OptionsCategory::CHAINPARAMS);
339
339
argsman.AddArg("-minimumdifficultyblocks=<n>", "The number of blocks that can be mined with the minimum difficulty at the start of a chain (default: 0, devnet-only)", ArgsManager::ALLOW_ANY, OptionsCategory::CHAINPARAMS);
340
340
argsman.AddArg("-powtargetspacing=<n>", "Override the default PowTargetSpacing value in seconds (default: 2.5 minutes, devnet-only)", ArgsManager::ALLOW_ANY | ArgsManager::DISALLOW_NEGATION, OptionsCategory::CHAINPARAMS);
0 commit comments