Skip to content

[Config] Update default testnet seeds.#19482

Merged
JoshLind merged 1 commit intomainfrom
fix_testnet_config_seeds
Apr 17, 2026
Merged

[Config] Update default testnet seeds.#19482
JoshLind merged 1 commit intomainfrom
fix_testnet_config_seeds

Conversation

@JoshLind
Copy link
Copy Markdown
Contributor

@JoshLind JoshLind commented Apr 17, 2026

Description

This PR updates the default testnet seeds.

Testing Plan

Manual verification.


Note

Medium Risk
Changes default network bootstrap peers for testnet and alters CI fullnode-sync seeding behavior; misconfigured seed addresses could cause nodes or workflows to have connectivity/sync issues.

Overview
Updates the default testnet seed peer set used by the config optimizer to a new list of PFN-based seeds and corresponding addresses/keys.

Also simplifies the fullnode-sync GitHub Action so seed peers are only injected when doing historical sync on mainnet, removing the testnet-specific seed peer constant and branch.

Reviewed by Cursor Bugbot for commit 2f3deaf. Bugbot is set up for automated code reviews on this repo. Configure here.

@JoshLind JoshLind requested review from a team and gregnazario as code owners April 17, 2026 02:24
@JoshLind JoshLind added the v1.44 label Apr 17, 2026
@JoshLind JoshLind added v1.45 and removed v1.44 labels Apr 17, 2026
Comment thread config/src/config/config_optimizer.rs Outdated
const TESTNET_SEED_PEERS: [(&str, &str, &str); 1] = [(
"9d5af3ffdff04f7cd51aa9f902253067a40594c7831bf1265503220d585b4d20",
"0x9d5af3ffdff04f7cd51aa9f902253067a40594c7831bf1265503220d585b4d20",
"/dns/pfn0.euwe4-seed.fullnode.testnet.aptoslabs.com/tcp/6182/noise-ik/0x9d5af3ffdff04f7cd51aa9f902253067a40594c7831bf1265503220d585b4d20/handshake/0",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's not do this quite yet. I'm spinning up a new PFN in EU, to use for backups too.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aah, we need to unblock testnet now (as discovery is currently broken for anyone without seeds) 😞

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use these:

  • pfn0.usce1.fullnode.testnet.aptoslabs.com/0x64D807A57C289FB26AAB73BFE1F192CDC0BAA25C0EC72F707AEFEFF97300D434
  • pfn0.euwe4.fullnode.testnet.aptoslabs.com/0x0058220DE6BA1AF4C4A803E8727D9ED372104D2E60057CB16D6A99E646512826
  • pfn0.apne1.fullnode.testnet.aptoslabs.com/0x18FE71C4253468E40C540E31E5127D1E341E20494BC0DE8B4E4D434C14B54608

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aah, awesome! Thanks boss 😄

Comment thread config/src/config/config_optimizer.rs Outdated
Comment thread .github/actions/fullnode-sync/fullnode_sync.py
NUMBER_OF_HISTORICAL_TRANSACTIONS_TO_SYNC = 2000000 # The number of historical transactions to sync (when syncing from genesis)
SYNCING_DELTA_VERSIONS = 20000 # The number of versions to sync beyond the highest known at the job start

# Testnet seed peer constants
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why remove the testnet PFN seed from here ?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aah, because we'll inject them by default on node startup, so no need to add them again here (manually in the node config) 😄

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@JoshLind would it make sense to keep the seed map empty just in case we need to add seeds later ? Does the seed parameter override the built-in peers or is it additive ?

Comment thread config/src/config/config_optimizer.rs Outdated
const TESTNET_SEED_PEERS: [(&str, &str, &str); 1] = [(
"9d5af3ffdff04f7cd51aa9f902253067a40594c7831bf1265503220d585b4d20",
"0x9d5af3ffdff04f7cd51aa9f902253067a40594c7831bf1265503220d585b4d20",
"/dns/pfn0.euwe4-seed.fullnode.testnet.aptoslabs.com/tcp/6182/noise-ik/0x9d5af3ffdff04f7cd51aa9f902253067a40594c7831bf1265503220d585b4d20/handshake/0",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use these:

  • pfn0.usce1.fullnode.testnet.aptoslabs.com/0x64D807A57C289FB26AAB73BFE1F192CDC0BAA25C0EC72F707AEFEFF97300D434
  • pfn0.euwe4.fullnode.testnet.aptoslabs.com/0x0058220DE6BA1AF4C4A803E8727D9ED372104D2E60057CB16D6A99E646512826
  • pfn0.apne1.fullnode.testnet.aptoslabs.com/0x18FE71C4253468E40C540E31E5127D1E341E20494BC0DE8B4E4D434C14B54608

@JoshLind JoshLind force-pushed the fix_testnet_config_seeds branch from 9365dcf to 2f3deaf Compare April 17, 2026 20:06
Copy link
Copy Markdown
Contributor

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 2f3deaf. Configure here.

add_seed_peers(fullnode_config, TESTNET_SEED_PEERS)
# If we're syncing historical data on mainnet, we need to add seed peers
if syncing_historical_data and network == MAINNET_STRING:
add_seed_peers(fullnode_config, MAINNET_SEED_PEERS)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inconsistent seed peer handling between testnet and mainnet

Low Severity

The TESTNET_SEED_PEERS constant and its usage were fully removed from this CI script rather than updated, while MAINNET_SEED_PEERS is kept and still manually injected. This creates an asymmetry: mainnet historical syncing adds seeds via the Python script (preventing the config optimizer from applying its own), while testnet historical syncing now silently relies on the Rust config optimizer at node startup. Both paths work, but the mixed approach makes it unclear where seed management lives and could confuse future maintainers — as noted by a reviewer who asked "Why remove the testnet PFN seed from here?"

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 2f3deaf. Configure here.

@JoshLind JoshLind requested a review from sionescu April 17, 2026 20:13
@JoshLind JoshLind enabled auto-merge (rebase) April 17, 2026 22:00
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions
Copy link
Copy Markdown
Contributor

✅ Forge suite compat success on da70c48185fb85346c1e404ba45f2498824cbd22 ==> 2f3deaf3f25c285297631ad2db9755a4bb9baa0b

Compatibility test results for da70c48185fb85346c1e404ba45f2498824cbd22 ==> 2f3deaf3f25c285297631ad2db9755a4bb9baa0b (PR)
1. Check liveness of validators at old version: da70c48185fb85346c1e404ba45f2498824cbd22
compatibility::simple-validator-upgrade::liveness-check : committed: 14101.95 txn/s, latency: 2446.16 ms, (p50: 2400 ms, p70: 2700, p90: 3300 ms, p99: 4400 ms), latency samples: 466400
2. Upgrading first Validator to new version: 2f3deaf3f25c285297631ad2db9755a4bb9baa0b
compatibility::simple-validator-upgrade::single-validator-upgrade : committed: 6276.29 txn/s, latency: 5422.63 ms, (p50: 5900 ms, p70: 6000, p90: 6200 ms, p99: 6400 ms), latency samples: 220500
3. Upgrading rest of first batch to new version: 2f3deaf3f25c285297631ad2db9755a4bb9baa0b
compatibility::simple-validator-upgrade::half-validator-upgrade : committed: 6394.57 txn/s, latency: 5272.15 ms, (p50: 5800 ms, p70: 5900, p90: 6000 ms, p99: 6100 ms), latency samples: 220580
4. upgrading second batch to new version: 2f3deaf3f25c285297631ad2db9755a4bb9baa0b
compatibility::simple-validator-upgrade::rest-validator-upgrade : committed: 10791.58 txn/s, latency: 3022.08 ms, (p50: 3200 ms, p70: 3300, p90: 3500 ms, p99: 3700 ms), latency samples: 353940
5. check swarm health
Compatibility test for da70c48185fb85346c1e404ba45f2498824cbd22 ==> 2f3deaf3f25c285297631ad2db9755a4bb9baa0b passed
Test Ok

@github-actions
Copy link
Copy Markdown
Contributor

✅ Forge suite realistic_env_max_load success on 2f3deaf3f25c285297631ad2db9755a4bb9baa0b

two traffics test: inner traffic : committed: 14295.76 txn/s, latency: 1258.77 ms, (p50: 1200 ms, p70: 1300, p90: 1500 ms, p99: 2100 ms), latency samples: 5333720
two traffics test : committed: 99.98 txn/s, latency: 743.29 ms, (p50: 700 ms, p70: 800, p90: 900 ms, p99: 2200 ms), latency samples: 1660
Latency breakdown for phase 0: ["MempoolToBlockCreation: max: 0.630, avg: 0.468", "ConsensusProposalToOrdered: max: 0.136, avg: 0.127", "ConsensusOrderedToCommit: max: 0.295, avg: 0.192", "ConsensusProposalToCommit: max: 0.431, avg: 0.319"]
Max non-epoch-change gap was: 2 rounds at version 16716 (avg 0.00) [limit 4], 2.11s no progress at version 16716 (avg 0.06s) [limit 15].
Max epoch-change gap was: 0 rounds at version 0 (avg 0.00) [limit 4], 0.49s no progress at version 2330748 (avg 0.49s) [limit 16].
Test Ok

@github-actions
Copy link
Copy Markdown
Contributor

✅ Forge suite framework_upgrade success on da70c48185fb85346c1e404ba45f2498824cbd22 ==> 2f3deaf3f25c285297631ad2db9755a4bb9baa0b

Compatibility test results for da70c48185fb85346c1e404ba45f2498824cbd22 ==> 2f3deaf3f25c285297631ad2db9755a4bb9baa0b (PR)
Upgrade the nodes to version: 2f3deaf3f25c285297631ad2db9755a4bb9baa0b
framework_upgrade::framework-upgrade::full-framework-upgrade : committed: 2350.24 txn/s, submitted: 2357.36 txn/s, failed submission: 7.12 txn/s, expired: 7.12 txn/s, latency: 1254.21 ms, (p50: 1200 ms, p70: 1400, p90: 1600 ms, p99: 2800 ms), latency samples: 211361
framework_upgrade::framework-upgrade::full-framework-upgrade : committed: 1564.09 txn/s, submitted: 1570.66 txn/s, failed submission: 6.57 txn/s, expired: 6.57 txn/s, latency: 1851.37 ms, (p50: 1200 ms, p70: 1500, p90: 2000 ms, p99: 11500 ms), latency samples: 142821
5. check swarm health
Compatibility test for da70c48185fb85346c1e404ba45f2498824cbd22 ==> 2f3deaf3f25c285297631ad2db9755a4bb9baa0b passed
Upgrade the remaining nodes to version: 2f3deaf3f25c285297631ad2db9755a4bb9baa0b
framework_upgrade::framework-upgrade::full-framework-upgrade : committed: 2298.75 txn/s, submitted: 2305.91 txn/s, failed submission: 7.16 txn/s, expired: 7.16 txn/s, latency: 1324.27 ms, (p50: 1200 ms, p70: 1500, p90: 1700 ms, p99: 2700 ms), latency samples: 199000
Test Ok

@JoshLind JoshLind merged commit 0223daa into main Apr 17, 2026
121 of 127 checks passed
@JoshLind JoshLind deleted the fix_testnet_config_seeds branch April 17, 2026 22:47
@aptos-bot
Copy link
Copy Markdown
Contributor

💚 All backports created successfully

Status Branch Result
aptos-release-v1.45

Questions ?

Please refer to the Backport tool documentation and see the Github Action logs for details

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants