Skip to content

Conversation

@Davidson-Souza
Copy link
Member

@Davidson-Souza Davidson-Souza commented Jan 13, 2026

Description and Notes

This PR improves our AddrMan, and also makes our node more aggressive on requesting for new addresses. With these changes:

  • We always ask for new addresses when we get a new connection, even with feeler peers
  • We now limit how many addresses can we have in total, preventing a potential memory exhaustion DoS
  • We also evict the peers that we didn't successfully connect in a while, to free up more space
  • Limit how many addresses we can receive/send in a single AddrV2 message
  • Add nodes added though the CLI to AddrMan
  • Added several tests for AddrMan
  • Don't store addresses that are unreachable from our node
  • Rate limit AddrV2 messages to one every ten seconds
  • Added addresses from DNS seeds to the good addresses
  • Fixed a small bug where connected addresses wouldn't be seen as good until they disconnect

@Davidson-Souza Davidson-Souza added bug Something isn't working code quality Generally improves code readability and maintainability labels Jan 13, 2026
@Davidson-Souza Davidson-Souza force-pushed the ask-peers branch 2 times, most recently from 673d7e1 to dc1cb67 Compare January 13, 2026 21:34
@Davidson-Souza Davidson-Souza marked this pull request as ready for review January 13, 2026 21:34
@Davidson-Souza
Copy link
Member Author

Pushed 8427273:

  • Move the 1k addresses to a constant in node.rs
  • Don't keep addresses for networks we can't reach - Right now we only really do ip, other networks proper handling will come in a follow-up
  • Don't remove peers from the good addresses table too quickly
  • Add an extra address range as private, as it seems to not be checked by Rust's std lib

@brunoerg
Copy link
Contributor

Also, it would be great to implement a rate-limiting for addrv2 messages.

@erickcestari
Copy link
Contributor

Also, it would be great to implement a rate-limiting for addrv2 messages.

I Agree. Bitcoin Core has a strict rate limit of accepting only one address every ten seconds from a peer to avoid eclipsing.

https://github.com/bitcoin/bitcoin/blob/0f7d4ee4e8281ed141a6ebb7e0edee7b864e4dcf/src/net_processing.cpp#L191

@luisschwab
Copy link
Member

While you're at it, maybe also make NodeInterface::remove_peer() also disconnect the peer we remove from the AddrMan? I'm getting this error when attempting to disconnect from a peer on bonsai:

WARN floresta_wire::p2p_wire::node: PeerNotFoundAtAddress(178.250.189.42, 38333)
ERROR bdk_floresta: Failed to manually disconnect from peer 178.250.189.42:38333

It claims the peer is not found even though I'm literally connected to it.

Copy link
Collaborator

@jaoleal jaoleal left a comment

Choose a reason for hiding this comment

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

Complementing with some suggestions

good_peers_by_service: HashMap::new(),
peers_by_service: HashMap::new(),
max_size: max_size.unwrap_or(MAX_ADDRESSES),
reachable_networks,
Copy link
Collaborator

Choose a reason for hiding this comment

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

Isnt interesting to have a default for this and it being the addresses we support ?

Copy link
Member Author

Choose a reason for hiding this comment

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

Knowing this isn't really the address_man business, and wouldn't help much. So I would say no

@Davidson-Souza
Copy link
Member Author

While you're at it, maybe also make NodeInterface::remove_peer() also disconnect the peer we remove from the AddrMan?

This method is used for the addnode RPC, and it shouldn't disconnect a peer. We need a new one for disconnectpeer

@Davidson-Souza Davidson-Souza force-pushed the ask-peers branch 3 times, most recently from 1703ed1 to 724469e Compare January 20, 2026 21:33
@Davidson-Souza
Copy link
Member Author

Pushed 724469e

  • Moved the methods about address reachability to LocalAddress. I think it makes more sense to have them there
  • Also made them public, so they can be used for testing
  • Added a per-peer rate-limit for AddrV2 messages, one every ten seconds
  • rebased

This was annoying to rebase

@erickcestari
Copy link
Contributor

I had to simulate the behaviour of the Bitcoin Core isRoutable() function in Rust-Bitcoin for a target in bitcoinfuzz. You might find it useful to see the additional verification that it has, which might be missing in Floresta, to ensure that it behaves equally to Core and does not waste time connecting to a non-routeable address.

https://github.com/bitcoinfuzz/bitcoinfuzz/pull/400/changes#diff-97d1c6ff1c09f64634ec511f5134bf731ad57fd139ac86c539a93d0dab8d182bR237

@Davidson-Souza Davidson-Souza force-pushed the ask-peers branch 3 times, most recently from fadc867 to 3124891 Compare January 28, 2026 17:34
@Davidson-Souza
Copy link
Member Author

After a little 1v1 against CI, pushed 3124891

  • Refactored prune_address based on @moisesPompilio's suggestion
  • Improved our reachability tests based on @erickcestari's code
  • Unified most reachability tests in one place

@moisesPompilio
Copy link
Collaborator

ACK 62c4492

@Davidson-Souza Davidson-Souza force-pushed the ask-peers branch 3 times, most recently from ce9349a to 32b4ee8 Compare February 4, 2026 21:10
@Davidson-Souza
Copy link
Member Author

Pushed 32b4ee8

  • Removed onion v2
  • Added a check for cjdns addresses
  • Added a test for push peers
  • Added addresses from DNS seeds to the good addresses
  • Fixed the Insert peers added through CLI to addrMan commit because it didn't actually add anything due to push_addresses filtering them out for missing services. Now we assume they do have those services
  • Fixed a small bug where connected addresses wouldn't be seen as good until they disconnect

@Davidson-Souza
Copy link
Member Author

Davidson-Souza commented Feb 5, 2026

Fixed a bug I've introduced on addnode onetry, that broke the functional tests.

Floresta functional tests caught 100 out of 2 bugs that would make it into master.

Copy link
Contributor

@csgui csgui left a comment

Choose a reason for hiding this comment

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

@Davidson-Souza this seems not ok! (arghhh... I am not allowed to request changes on the PR)

Comment on lines 228 to 230
if octets[0] == 0xFC && octets[0] == 0x00 {
return true;
}
Copy link
Contributor

Choose a reason for hiding this comment

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

This will never be true: if octets[0] == 0xFC && octets[0] == 0x00

Copy link
Member

Choose a reason for hiding this comment

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

Nice catch. Also, rust-bitcoin only checks the first octet, for some reason: https://docs.rs/bitcoin/latest/src/bitcoin/p2p/address.rs.html#223-235

Copy link
Contributor

Choose a reason for hiding this comment

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

Nice catch. Also, rust-bitcoin only checks the first octet, for some reason: https://docs.rs/bitcoin/latest/src/bitcoin/p2p/address.rs.html#223-235

rust-bitcoin/rust-bitcoin#2546

Copy link
Member

Choose a reason for hiding this comment

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

@Davidson-Souza We can drop checking the second octet. See erick's comment above.

Copy link
Contributor

@erickcestari erickcestari Feb 5, 2026

Choose a reason for hiding this comment

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

@Davidson-Souza We can drop checking the second octet. See erick's comment above.

Maybe remove the check altogether? After all, rust-bitcoin already checks the octets when parsing them.

Never mind. It's better to have it because the type is essentially a wrapper for IPv6, and it doesn't perform any checks during construction.

Copy link
Member

Choose a reason for hiding this comment

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

Yes, we should check the first octet is 0xFC but can skip the second octet.

Copy link
Member Author

Choose a reason for hiding this comment

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

Done!

@Davidson-Souza
Copy link
Member Author

Fixed a logic bug with is_routable when using CJDNS

@Davidson-Souza
Copy link
Member Author

Stopped checking second octet to align with rust-bitcoin (see #781 (comment))

@luisschwab
Copy link
Member

Needs rebase

@Davidson-Souza
Copy link
Member Author

Rebased

@luisschwab
Copy link
Member

I haven't reviewed this in depth, but I'm getting a bunch of NoAddressesAvailable during header sync (used diff syntax to highlight these):

luisschwab@deepthought Floresta % ./target/release/florestad -n signet
2026-02-09 19:03:53  INFO floresta_node::florestad: Loading watch-only wallet
2026-02-09 19:03:53  WARN floresta_node::florestad: Could not read config file, ignoring it
2026-02-09 19:03:53  INFO floresta_node::florestad: Wallet setup completed!
2026-02-09 19:03:53  INFO floresta_node::florestad: Loading blockchain database
2026-02-09 19:03:53  INFO floresta_node::florestad: Loaded compact filters store at height 0
2026-02-09 19:03:53  INFO floresta_node::florestad: Starting server
2026-02-09 19:03:53  INFO floresta_node::florestad: Electrum Server is running at 127.0.0.1:60001
2026-02-09 19:03:53  INFO floresta_node::json_rpc::server: RPC server is running at 127.0.0.1:38332
2026-02-09 19:03:53  WARN floresta_wire::p2p_wire::address_man: Failed to init Utreexo peers: anchors.json does not exist yet, or is invalid
2026-02-09 19:03:53  INFO floresta_wire::p2p_wire::node::chain_selector_ctx: Starting IBD, selecting the best chain
2026-02-09 19:03:53  INFO floresta_wire::p2p_wire::address_man: Fetched 3 peer addresses from DNS host: x49.seed.signet.bitcoin.sprovoost.nl
2026-02-09 19:03:53  INFO floresta_wire::p2p_wire::address_man: Fetched 22 peer addresses from DNS host: x9.seed.signet.bitcoin.sprovoost.nl
2026-02-09 19:03:53  INFO floresta_wire::p2p_wire::address_man: Fetched 1 peer addresses from DNS host: x1000000.seed.dlsouza.lol
2026-02-09 19:03:53  INFO floresta_wire::p2p_wire::address_man: Fetched 3 peer addresses from DNS host: x49.seed.dlsouza.lol
2026-02-09 19:03:53  INFO floresta_wire::p2p_wire::address_man: Fetched 24 peer addresses from DNS host: x9.seed.dlsouza.lol
2026-02-09 19:03:53  INFO floresta_wire::p2p_wire::node::conn: Fetched 53 peer addresses from all DNS seeds
- 2026-02-09 19:04:03 ERROR floresta_wire::p2p_wire::node::chain_selector_ctx: 820: crates/floresta-wire/src/p2p_wire/node/chain_selector_ctx.rs - NoAddressesAvailable
- 2026-02-09 19:04:53 ERROR floresta_wire::p2p_wire::node::chain_selector_ctx: 826: crates/floresta-wire/src/p2p_wire/node/chain_selector_ctx.rs - PeerAlreadyExists(136.144.237.250, 38333)
2026-02-09 19:05:28  INFO floresta_wire::p2p_wire::node::peer_man: New peer id=9 version=/Satoshi:28.0.0/ blocks=290839 services=ServiceFlags(NETWORK|WITNESS|NETWORK_LIMITED|P2P_V2)
2026-02-09 19:05:33  INFO floresta_wire::p2p_wire::node::chain_selector_ctx: Downloading headers from peer=9 at height=1 hash=00000086d6b2636cb2a392d45edc4ec544a10024d30141c9adf4bfd9de533b53
2026-02-09 19:05:37  INFO floresta_wire::p2p_wire::node::chain_selector_ctx: Downloading headers from peer=9 at height=2001 hash=0000003c99b26c168df2e9bfeb54b01bcbaabb7a7a9dfd0c2ad4c3be33111450
2026-02-09 19:05:39  INFO floresta_wire::p2p_wire::node::chain_selector_ctx: Downloading headers from peer=9 at height=4001 hash=000000de93651f839d858c4afc1371f769448b6d70bbb86f74889cf075318bdb
2026-02-09 19:05:39  WARN floresta_wire::p2p_wire::peer: unexpected message: Unknown { command: CommandString("sendtemplate"), payload: [] } from peer 10
2026-02-09 19:05:41  INFO floresta_wire::p2p_wire::node::chain_selector_ctx: Downloading headers from peer=9 at height=6001 hash=000000ed3a26b0bbf71e92bf3bc5c2d1efe6c5268708b190740a3ea24e75ce92
2026-02-09 19:05:45  INFO floresta_wire::p2p_wire::node::chain_selector_ctx: Downloading headers from peer=9 at height=8001 hash=0000011fe527d4e73f2d5b74bed5074e4a6b831c50cd7a4abac5413c0fd3a4dc
2026-02-09 19:05:48  INFO floresta_wire::p2p_wire::node::chain_selector_ctx: Downloading headers from peer=9 at height=10001 hash=000000b60a68f8955e6ed0989fbe9d2a8f1dd3c19c42ecda8e2a2411a2aec1f8
2026-02-09 19:05:49  INFO floresta_wire::p2p_wire::node::chain_selector_ctx: Downloading headers from peer=9 at height=12001 hash=0000014adede2d5efa6edb04acbd0a41f7c5ad4672e8c884e729e243c5d1e87e
- 2026-02-09 19:05:49 ERROR floresta_wire::p2p_wire::node::chain_selector_ctx: 8 20: crates/floresta-wire/src/p2p_wire/node/chain_selector_ctx.rs - NoAddressesAvailable
2026-02-09 19:05:50  INFO floresta_wire::p2p_wire::node::chain_selector_ctx: Downloading headers from peer=9 at height=14001 hash=000000ca9c36cd41cf79ed0532b09d05babcfd350cfc93b5da299cb192fe4161
2026-02-09 19:05:52  INFO floresta_wire::p2p_wire::node::chain_selector_ctx: Downloading headers from peer=9 at height=16001 hash=00000150a3bfb1a8b763f0f4d8f043f9e38ff685c30cf2a979b5352f2eab5dfd
2026-02-09 19:05:55  INFO floresta_wire::p2p_wire::node::chain_selector_ctx: Downloading headers from peer=9 at height=18001 hash=000000dd34b758a3b8852b423e4beed86428beb81f83a621e0f19403462dc09f
2026-02-09 19:05:57  INFO floresta_wire::p2p_wire::node::chain_selector_ctx: Downloading headers from peer=9 at height=20001 hash=00000001d6d52bc7ac9397972616bf8ed0331f86e298fe572c9e56331d3ecc3a
2026-02-09 19:06:00  INFO floresta_wire::p2p_wire::node::chain_selector_ctx: Downloading headers from peer=9 at height=22001 hash=00000123f3ae8c636b33654de0b179e9be9cc5a852b803af6f1f40342f6a2edb
- 2026-02-09 19:06:00  INFO floresta_wire::p2p_wire::node::conn: Floresta has been running for a while without enough addresses, requesting more from DNS seeds
- 2026-02-09 19:06:00 ERROR floresta_wire::p2p_wire::node::chain_selector_ctx: 820: crates/floresta-wire/src/p2p_wire/node/chain_selector_ctx.rs - NoAddressesAvailable
2026-02-09 19:06:00  INFO floresta_wire::p2p_wire::address_man: Fetched 3 peer addresses from DNS host: x49.seed.signet.bitcoin.sprovoost.nl
2026-02-09 19:06:00  INFO floresta_wire::p2p_wire::address_man: Fetched 22 peer addresses from DNS host: x9.seed.signet.bitcoin.sprovoost.nl
2026-02-09 19:06:00  INFO floresta_wire::p2p_wire::address_man: Fetched 1 peer addresses from DNS host: x1000000.seed.dlsouza.lol
2026-02-09 19:06:00  INFO floresta_wire::p2p_wire::address_man: Fetched 3 peer addresses from DNS host: x49.seed.dlsouza.lol
2026-02-09 19:06:00  INFO floresta_wire::p2p_wire::address_man: Fetched 24 peer addresses from DNS host: x9.seed.dlsouza.lol
2026-02-09 19:06:00  INFO floresta_wire::p2p_wire::node::conn: Fetched 53 peer addresses from all DNS seeds
2026-02-09 19:06:00  INFO floresta_wire::p2p_wire::node::chain_selector_ctx: Downloading headers from peer=9 at height=24001 hash=00000036d95571b4e6e90da71cc325aba135db0b9e9e1b37c495eb3a031bd96a
2026-02-09 19:06:02  INFO floresta_wire::p2p_wire::node::chain_selector_ctx: Downloading headers from peer=9 at height=26001 hash=00000040f39292420a12f95f3d088c6e7578e2c896fcf18002cb93d5aa5d523c
2026-02-09 19:06:02  INFO floresta_wire::p2p_wire::node::chain_selector_ctx: Downloading headers from peer=9 at height=28001 hash=000000522214640f86be46c0199cafbbfb7156e0a90c94a2f5e5b093b13d4354
2026-02-09 19:06:05  INFO floresta_wire::p2p_wire::node::chain_selector_ctx: Downloading headers from peer=9 at height=30001 hash=000000f7626bb9f7917f48d0c63a9c30a4692232e5cd96366192a62c7d1a89a4
2026-02-09 19:06:06  INFO floresta_wire::p2p_wire::node::chain_selector_ctx: Downloading headers from peer=9 at height=32001 hash=0000013e833b67d8c98c0cdb852a9629a4fac781863c31f4975205049b2a42c1
2026-02-09 19:06:08  INFO floresta_wire::p2p_wire::node::chain_selector_ctx: Downloading headers from peer=9 at height=34001 hash=00000020e9f4a2ca32755185e889c5160b72ecd9337b672db653b33a50a4a89b
- 2026-02-09 19:06:10 ERROR floresta_wire::p2p_wire::node::chain_selector_ctx: 820: crates/floresta-wire/src/p2p_wire/node/chain_selector_ctx.rs - NoAddressesAvailable
2026-02-09 19:06:10  INFO floresta_wire::p2p_wire::node::chain_selector_ctx: Downloading headers from peer=9 at height=36001 hash=0000007ff949a1ee620eafe3ce183845573fadda34653f90973de630ce7f2b85
2026-02-09 19:06:11  INFO floresta_wire::p2p_wire::node::chain_selector_ctx: Downloading headers from peer=9 at height=38001 hash=00000050e4622a09f28d5eeece1f2dc229b6be66a96531c7c96163f1a6b7e98d
2026-02-09 19:06:13  INFO floresta_wire::p2p_wire::node::chain_selector_ctx: Downloading headers from peer=9 at height=40001 hash=0000001d7e4a70c8bf867ee59b6e1ce3f86b68757f46d8d389a0710058666f16
2026-02-09 19:06:14  INFO floresta_wire::p2p_wire::node::chain_selector_ctx: Downloading headers from peer=9 at height=42001 hash=000000b5361e8a14e345071c3000cfaddd8d50a059c2707872c413e06af3db76
2026-02-09 19:06:15  INFO floresta_wire::p2p_wire::node::chain_selector_ctx: Downloading headers from peer=9 at height=44001 hash=000001453289816aae09b1f9c08d92c7c97a0ed6abc795a4db08c060d20d8534
2026-02-09 19:06:16  INFO floresta_wire::p2p_wire::node::chain_selector_ctx: Downloading headers from peer=9 at height=46001 hash=000000146e031188ce3932e3837f8cfea8a89b21dd91676ed7ba65a556ff9be3
2026-02-09 19:06:16  INFO floresta_wire::p2p_wire::node::chain_selector_ctx: Downloading headers from peer=9 at height=48001 hash=000001464c6be1f79f1aada84a08e77b83f66b5981f8e62b98472d65124823a7
2026-02-09 19:06:17  INFO floresta_wire::p2p_wire::node::chain_selector_ctx: Downloading headers from peer=9 at height=50001 hash=0000002b4a0d1ed131bcbc0909cf93467fcad92f624de4b1dd213541bfb0a2d9
2026-02-09 19:06:17  INFO floresta_wire::p2p_wire::node::chain_selector_ctx: Downloading headers from peer=9 at height=52001 hash=000000b35e86a63df974bc0e561032a4573bdaf54116063858c687c256425d50
2026-02-09 19:06:18  INFO floresta_wire::p2p_wire::node::chain_selector_ctx: Downloading headers from peer=9 at height=54001 hash=0000000f1335ce2d13e87ee599f2da32874488b095bf6170869fb352125af939
2026-02-09 19:06:18  INFO floresta_wire::p2p_wire::node::chain_selector_ctx: Downloading headers from peer=9 at height=56001 hash=0000008185b5249a03b601dad1d62cb314d4012d6838d2c8b7e8ae11a0254882
2026-02-09 19:06:19  INFO floresta_wire::p2p_wire::node::chain_selector_ctx: Downloading headers from peer=9 at height=58001 hash=0000007a5a7603945bd75d75847efc4139461a32f82cfabcfcb602de914da3a5
2026-02-09 19:06:19  INFO floresta_wire::p2p_wire::node::chain_selector_ctx: Downloading headers from peer=9 at height=60001 hash=000001058cac5cb7d86810cd9be331b66a46d3b72883c0e9f160c40b2f1477d0
2026-02-09 19:06:20  INFO floresta_wire::p2p_wire::node::chain_selector_ctx: Downloading headers from peer=9 at height=62001 hash=000000907e8e25da28e8b0789d24866cfb85bc5f3d02450e410df2b21b13a677
2026-02-09 19:06:20  INFO floresta_wire::p2p_wire::node::chain_selector_ctx: Downloading headers from peer=9 at height=64001 hash=000000e7d748f679fc09e709e6ef56085732c293e7772004d81521d0ac6738df
2026-02-09 19:06:21  INFO floresta_wire::p2p_wire::node::chain_selector_ctx: Downloading headers from peer=9 at height=66001 hash=000000042d715765c28f294b304df5f30ec142bd778a43bdfc47dc883239e26a
- 2026-02-09 19:06:21 ERROR floresta_wire::p2p_wire::node::chain_selector_ctx: 820: crates/floresta-wire/src/p2p_wire/node/chain_selector_ctx.rs - NoAddressesAvailable

We currently only ask for addresses once every 1h, which doesn't seem like enough,
specially when our node is still bootstrapping. So after adding a new peer,
we ask for new addresses right away.
Currently, our AddrMan can grow indefinitely. This is obviously
a DoS vector, and can cause the node to crash.

This commit introduces a new limit on how many addresses we may have, and a code that
removes old addresses to open up space for new ones
The previous implementation didn't support IPv6 and had problems
with port detection. This commit fixes this
The BIP demands nodes to ignore any message with more than 1_000
addresses. We currently may receive and send packages bigger than
that. This commit fixes it by enforcing this limit.
We don't currently push peers added through CLI to our AddrMan, therefore
we don't learn about them to use in the future. This commit fixes it,
by calling `addr_man.push` with any peer that have been added from
the CLI
Some networks might not be reachable for use, usually because
they require a specific proxy that we might not have. Therefore,
addresses for that net are always unreachable for us. This commit
adds a method to filter for unreachable addresses, so they are
never added to our address manager.
We try to keep a good view of the network, knowing which peers are
working a ready to connect. To accieve this, we keep track of the
lastest connections we've made, so we know what peers should be
online and responsive. However, after a certain time from the last
connection, we assume that the information we have is too old to
be counted. But our current code is too aggressive in what it
considers outdated, and will drop this info for peers we've connected
just a few minutes ago. This commit fixes this by preserving this
information for one day (24 hours) before considering it stale and
moving that peer to the unknown state.
The address manager implements some methods like `is_private` and `is_good_peer` to help
with peer selection. However, they are closer to the LocalAddress struct, so I've moved
them to LocalAddress and made them public.
To avoid being eclipsed with an address spam attack, we limit
the rate of addrv2 messages a peer can send us to one every
10 seconds.
DNS seeds are trusted to deliver recently seen peers, that are very
likely to still be alive. This commit adds those peers directly to
the "good" peers table, making it easier for our node to start up
peers
Before connecting to an address, we mark it as `Failed`, in case
we never hear from that peer again, and only after handshake we
mark as `Connected`. However, before this commit, we would remove
then from the `good_peers` bucket, and only re-add after disconnecting.

That meant we wouldn't send their addresses in `AddrV2` messages, and
they wouldn't count towards the `enough_peers` function. This commit
fixes this by adding `Connected` peers back to the good peers bucket
@Davidson-Souza
Copy link
Member Author

@luisschwab I think it's better now. But even o master I'm getting a lot of requests to dns seed, because the seeds aren't giving us enough compact filters and utreexo peers. I think we should increase the time for dns seed requests now that we will request for addresses more aggressively to the network.

@luisschwab
Copy link
Member

luisschwab commented Feb 10, 2026

Now it almost finished downloading headers but ran out of peers in the end:

2026-02-10 16:42:20  INFO floresta_wire::p2p_wire::node::chain_selector_ctx: Downloading headers from peer=3 at height=210001 hash=0000011cf58e601c942b4ab046e3cc9427c75111eaeaf942ff359e8513d272c4
2026-02-10 16:42:21  INFO floresta_wire::p2p_wire::node::chain_selector_ctx: Downloading headers from peer=4 at height=212001 hash=00000001bcccde1c413a2fdb28ad176770b1cc75cf9262f56ce364fe2292c969
2026-02-10 16:42:22  INFO floresta_wire::p2p_wire::node::chain_selector_ctx: Downloading headers from peer=3 at height=214001 hash=000000758744de908aefb39fd2cc1c31fb2a353836d315630e1b4e91f72a3d00
2026-02-10 16:42:22  INFO floresta_wire::p2p_wire::node::chain_selector_ctx: Downloading headers from peer=4 at height=216001 hash=000000d21f3193f740c9b703d0bf1805fc5ccba8fd6e38d02bdcbc2fc97dabf5
2026-02-10 16:42:23  INFO floresta_wire::p2p_wire::node::chain_selector_ctx: Downloading headers from peer=3 at height=218001 hash=000000977b59d7028d43d1926030fcfdea1f037bb868b2ead66444379a7ea5f7
2026-02-10 16:42:24 ERROR floresta_wire::p2p_wire::node::chain_selector_ctx: 798: crates/floresta-wire/src/p2p_wire/node/chain_selector_ctx.rs - NoPeersAvailable
2026-02-10 16:42:28  INFO floresta_wire::p2p_wire::node::peer_man: New peer id=11 version=/Satoshi:30.99.0/ blocks=290975 services=ServiceFlags(NETWORK|WITNESS|COMPACT_FILTERS|NETWORK_LIMITED|P2P_V2)
2026-02-10 16:42:39  INFO floresta_wire::p2p_wire::node::peer_man: New peer id=12 version=/Satoshi:28.99.0/ blocks=290975 services=ServiceFlags(NETWORK|WITNESS|NETWORK_LIMITED|P2P_V2)
- 2026-02-10 16:42:59  INFO floresta_wire::p2p_wire::node::conn: Floresta has been running for a while without enough addresses, requesting more from DNS seeds
2026-02-10 16:42:59  INFO floresta_wire::p2p_wire::address_man: Fetched 4 peer addresses from DNS host: x49.seed.signet.bitcoin.sprovoost.nl
2026-02-10 16:42:59  INFO floresta_wire::p2p_wire::address_man: Fetched 32 peer addresses from DNS host: x9.seed.signet.bitcoin.sprovoost.nl
2026-02-10 16:42:59  INFO floresta_wire::p2p_wire::address_man: Fetched 1 peer addresses from DNS host: x1000000.seed.dlsouza.lol
2026-02-10 16:42:59  INFO floresta_wire::p2p_wire::address_man: Fetched 3 peer addresses from DNS host: x49.seed.dlsouza.lol
2026-02-10 16:42:59  INFO floresta_wire::p2p_wire::address_man: Fetched 24 peer addresses from DNS host: x9.seed.dlsouza.lol
2026-02-10 16:42:59  INFO floresta_wire::p2p_wire::node::conn: Fetched 52 peer addresses from all DNS seeds
2026-02-10 16:43:11  INFO floresta_wire::p2p_wire::node::peer_man: New peer id=16 version=/Satoshi:29.2.0/ blocks=290975 services=ServiceFlags(NETWORK|WITNESS|COMPACT_FILTERS|NETWORK_LIMITED|P2P_V2)
2026-02-10 16:43:23  INFO floresta_wire::p2p_wire::node::peer_man: New peer id=17 version=/Satoshi:30.2.0/ blocks=290975 services=ServiceFlags(NETWORK|WITNESS|NETWORK_LIMITED|P2P_V2)
2026-02-10 16:43:32  INFO floresta_wire::p2p_wire::node::peer_man: New peer id=19 version=/Satoshi:29.0.0/ blocks=290975 services=ServiceFlags(NETWORK|WITNESS|NETWORK_LIMITED|P2P_V2)
2026-02-10 16:43:43  INFO floresta_wire::p2p_wire::node::peer_man: New peer id=20 version=/Satoshi:30.0.0/ blocks=290975 services=ServiceFlags(NETWORK|WITNESS|NETWORK_LIMITED|P2P_V2)
- 2026-02-10 16:45:07  INFO floresta_wire::p2p_wire::node::conn: Floresta has been running for a while without enough addresses, requesting more from DNS seeds
2026-02-10 16:45:07  INFO floresta_wire::p2p_wire::address_man: Fetched 4 peer addresses from DNS host: x49.seed.signet.bitcoin.sprovoost.nl
2026-02-10 16:45:07  INFO floresta_wire::p2p_wire::address_man: Fetched 32 peer addresses from DNS host: x9.seed.signet.bitcoin.sprovoost.nl
2026-02-10 16:45:07  INFO floresta_wire::p2p_wire::address_man: Fetched 1 peer addresses from DNS host: x1000000.seed.dlsouza.lol
2026-02-10 16:45:07  INFO floresta_wire::p2p_wire::address_man: Fetched 3 peer addresses from DNS host: x49.seed.dlsouza.lol
2026-02-10 16:45:07  INFO floresta_wire::p2p_wire::address_man: Fetched 24 peer addresses from DNS host: x9.seed.dlsouza.lol
2026-02-10 16:45:07  INFO floresta_wire::p2p_wire::node::conn: Fetched 52 peer addresses from all DNS seeds
- 2026-02-10 16:47:15  INFO floresta_wire::p2p_wire::node::conn: Floresta has been running for a while without enough addresses, requesting more from DNS seeds
2026-02-10 16:47:15  INFO floresta_wire::p2p_wire::address_man: Fetched 4 peer addresses from DNS host: x49.seed.signet.bitcoin.sprovoost.nl
2026-02-10 16:47:15  INFO floresta_wire::p2p_wire::address_man: Fetched 32 peer addresses from DNS host: x9.seed.signet.bitcoin.sprovoost.nl
2026-02-10 16:47:15  INFO floresta_wire::p2p_wire::address_man: Fetched 1 peer addresses from DNS host: x1000000.seed.dlsouza.lol
2026-02-10 16:47:15  INFO floresta_wire::p2p_wire::address_man: Fetched 3 peer addresses from DNS host: x49.seed.dlsouza.lol
2026-02-10 16:47:15  INFO floresta_wire::p2p_wire::address_man: Fetched 24 peer addresses from DNS host: x9.seed.dlsouza.lol
2026-02-10 16:47:15  INFO floresta_wire::p2p_wire::node::conn: Fetched 52 peer addresses from all DNS seeds

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

Labels

bug Something isn't working code quality Generally improves code readability and maintainability

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants