Peerinfo example sends/receives repeated messages
I maintainer di solito rispondono entro 4 giorni
@varex83 ci sta già lavorando.
Dal 31/8/2026.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
Description
When multiple peerinfo examples run concurrently they send to each other more than 1 peerinfo message per interval. Instead, if a peerinfo example conects with a Charon node the peerinfo message is only received once per interval.
How to reproduce
- Setup a test cluster using Charon
./charon create cluster --nodes 3 --network mainnet --num-validators 1 --cluster-dir ./test-cluster --insecure-keys --fee-recipient-addresses 0x0000000000000000000000000000000000000000 --withdrawal-addresses 0x0000000000000000000000000000000000000000
-
Copy the private keys for nodes 1 and 2 to
.node-1and.node-2respectively (each directory should contain a singlecharon-enr-private-keyfile). -
Run a Charon node:
./charon run --simnet-beacon-mock --no-verify --nickname=node0 --lock-file=test-cluster/node0/cluster-lock.json --private-key-file=test-cluster/node0/charon-enr-private-key --p2p-tcp-address=0.0.0.0:3610 --monitoring-address=0.0.0.0:9464 --log-level=info
- Run a Pluto
peerinfoexample, dialing the Charon node:
cargo run -p charon-peerinfo --example peerinfo -- \
--port 4001 \
--nickname node-1 \
--data-dir .node-1 \
--metrics-port 9465 \
--dial /ip4/127.0.0.1/tcp/3610
- Validate that you're seeing a single PeerInfo log:
2026-01-28T20:32:50.806482Z INFO peerinfo: Loaded existing private key from .node-1
2026-01-28T20:32:50.809754Z INFO peerinfo: ENR: enr:-Iu4QCVayGwxN90xAbGqpvvR2TqciZ41ZgRN8mF0675xj2hkQFcnVwl6pWq1gjmUOAZVHBE50oD-HnWX8xlVDQN-hd2AgmlkgnY0gmlwhAAAAACJc2VjcDI1NmsxoQOdy7XC6i8ORmTOkLQNGEl6y4jqJFWlk9uabkp7g88nWYN0Y3CCD6GDdWRwgg-h
2026-01-28T20:32:50.809882Z INFO vise_exporter::exporter: Created metrics exporter with 23 metrics in 4 groups from crates vise_exporter 0.3.2, charon_tracing 1.7.1, charon_peerinfo 1.7.1, charon_p2p 1.7.1, ...
2026-01-28T20:32:50.813052Z INFO libp2p_swarm: local_peer_id=16Uiu2HAmPGxXC2xtfqrMo8uLFxeuAczdV1dqFc6cshrqNwHVet8G
2026-01-28T20:32:50.813086Z INFO peerinfo: Local peer id: 16Uiu2HAmPGxXC2xtfqrMo8uLFxeuAczdV1dqFc6cshrqNwHVet8G
2026-01-28T20:32:50.813100Z INFO peerinfo: mDNS auto-discovery enabled
2026-01-28T20:32:50.813171Z INFO peerinfo: Dialing /ip4/127.0.0.1/tcp/3610
2026-01-28T20:32:50.813294Z INFO peerinfo: Peerinfo example started with nickname 'node-1', interval 5s
2026-01-28T20:32:50.813303Z INFO peerinfo: Press Ctrl+C to exit
2026-01-28T20:32:50.813526Z INFO libp2p_mdns::behaviour::iface: creating instance on iface address address=192.168.1.182
2026-01-28T20:32:50.813590Z INFO libp2p_mdns::behaviour::iface: creating instance on iface address address=100.82.171.62
2026-01-28T20:32:50.813622Z INFO libp2p_mdns::behaviour::iface: creating instance on iface address address=172.17.0.1
2026-01-28T20:32:50.813764Z INFO peerinfo: Listening on /ip4/127.0.0.1/tcp/4001
2026-01-28T20:32:50.813797Z INFO peerinfo: Listening on /ip4/192.168.1.182/tcp/4001
2026-01-28T20:32:50.813815Z INFO peerinfo: Listening on /ip4/100.82.171.62/tcp/4001
2026-01-28T20:32:50.813841Z INFO peerinfo: Listening on /ip4/172.17.0.1/tcp/4001
2026-01-28T20:32:50.816948Z INFO peerinfo: Connection established with 16Uiu2HAmFGE1p3vAxnJ8ghSYuGCiByguyD4SZBu8wu2PcrG1tz7A via /ip4/127.0.0.1/tcp/3610
2026-01-28T20:32:55.818160Z INFO charon_peerinfo::protocol: Peer name to nickname mappings nicknames={"beautiful-park": "node0"}
2026-01-28T20:32:55.820692Z WARN charon_peerinfo::protocol: Mismatching peer lock hash peer="beautiful-park" lock_hash="916a191e150f1ab4a358326e7e036290e838997a80e703b500876f6a982c7a51"
2026-01-28T20:32:55.820857Z INFO peerinfo: Received PeerInfo from 16Uiu2HAmFGE1p3vAxnJ8ghSYuGCiByguyD4SZBu8wu2PcrG1tz7A:
│ Version: v1.7.1-DIRTY
│ Git Hash: 749d2d7
│ Nickname: node0
│ Builder API: false
│ Lock Hash: "916a191e150f1ab4a358326e7e036290e838997a80e703b500876f6a982c7a51"
- Run a second Pluto
peerinfoexample:
cargo run -p charon-peerinfo --example peerinfo -- \
--port 4002 \
--nickname node-2 \
--data-dir .node-2 \
--metrics-port 9466 \
--dial /ip4/127.0.0.1/tcp/3610
- Validate that you're seeing multiple Peerinfo messages per node:
2026-01-28T20:33:41.584015Z INFO libp2p_mdns::behaviour: discovered peer on address peer=16Uiu2HAmTvWXpcGW3BcGXF4MX7gkSPetYzjXxhUZMUk1FQX5HH1J address=/ip4/172.17.0.1/tcp/4002/p2p/16Uiu2HAmTvWXpcGW3BcGXF4MX7gkSPetYzjXxhUZMUk1FQX5HH1J
2026-01-28T20:33:41.584109Z INFO libp2p_mdns::behaviour: discovered peer on address peer=16Uiu2HAmTvWXpcGW3BcGXF4MX7gkSPetYzjXxhUZMUk1FQX5HH1J address=/ip4/100.82.171.62/tcp/4002/p2p/16Uiu2HAmTvWXpcGW3BcGXF4MX7gkSPetYzjXxhUZMUk1FQX5HH1J
2026-01-28T20:33:41.584141Z INFO libp2p_mdns::behaviour: discovered peer on address peer=16Uiu2HAmTvWXpcGW3BcGXF4MX7gkSPetYzjXxhUZMUk1FQX5HH1J address=/ip4/192.168.1.182/tcp/4002/p2p/16Uiu2HAmTvWXpcGW3BcGXF4MX7gkSPetYzjXxhUZMUk1FQX5HH1J
2026-01-28T20:33:41.584184Z INFO peerinfo: 🔍 mDNS discovered peer 16Uiu2HAmTvWXpcGW3BcGXF4MX7gkSPetYzjXxhUZMUk1FQX5HH1J at /ip4/172.17.0.1/tcp/4002/p2p/16Uiu2HAmTvWXpcGW3BcGXF4MX7gkSPetYzjXxhUZMUk1FQX5HH1J
2026-01-28T20:33:41.584306Z INFO peerinfo: 🔍 mDNS discovered peer 16Uiu2HAmTvWXpcGW3BcGXF4MX7gkSPetYzjXxhUZMUk1FQX5HH1J at /ip4/100.82.171.62/tcp/4002/p2p/16Uiu2HAmTvWXpcGW3BcGXF4MX7gkSPetYzjXxhUZMUk1FQX5HH1J
2026-01-28T20:33:41.584363Z INFO peerinfo: 🔍 mDNS discovered peer 16Uiu2HAmTvWXpcGW3BcGXF4MX7gkSPetYzjXxhUZMUk1FQX5HH1J at /ip4/192.168.1.182/tcp/4002/p2p/16Uiu2HAmTvWXpcGW3BcGXF4MX7gkSPetYzjXxhUZMUk1FQX5HH1J
2026-01-28T20:33:41.588129Z INFO peerinfo: Connection established with 16Uiu2HAmTvWXpcGW3BcGXF4MX7gkSPetYzjXxhUZMUk1FQX5HH1J via /ip4/100.82.171.62/tcp/4002/p2p/16Uiu2HAmTvWXpcGW3BcGXF4MX7gkSPetYzjXxhUZMUk1FQX5HH1J
2026-01-28T20:33:41.588287Z INFO peerinfo: Connection established with 16Uiu2HAmTvWXpcGW3BcGXF4MX7gkSPetYzjXxhUZMUk1FQX5HH1J via /ip4/192.168.1.182/tcp/4002/p2p/16Uiu2HAmTvWXpcGW3BcGXF4MX7gkSPetYzjXxhUZMUk1FQX5HH1J
2026-01-28T20:33:41.588640Z INFO peerinfo: Connection established with 16Uiu2HAmTvWXpcGW3BcGXF4MX7gkSPetYzjXxhUZMUk1FQX5HH1J via /ip4/172.17.0.1/tcp/4002/p2p/16Uiu2HAmTvWXpcGW3BcGXF4MX7gkSPetYzjXxhUZMUk1FQX5HH1J
2026-01-28T20:33:41.589468Z INFO peerinfo: Connection established with 16Uiu2HAmTvWXpcGW3BcGXF4MX7gkSPetYzjXxhUZMUk1FQX5HH1J via /ip4/100.82.171.62/tcp/4002
2026-01-28T20:33:41.589638Z INFO peerinfo: Connection established with 16Uiu2HAmTvWXpcGW3BcGXF4MX7gkSPetYzjXxhUZMUk1FQX5HH1J via /ip4/192.168.1.182/tcp/4002
2026-01-28T20:33:41.589791Z INFO peerinfo: Connection established with 16Uiu2HAmTvWXpcGW3BcGXF4MX7gkSPetYzjXxhUZMUk1FQX5HH1J via /ip4/192.168.1.182/tcp/54138
2026-01-28T20:33:46.589031Z INFO charon_peerinfo::protocol: Peer name to nickname mappings nicknames={"helpless-fish": "node-2"}
2026-01-28T20:33:46.589163Z INFO charon_peerinfo::protocol: Peer name to nickname mappings nicknames={"helpless-fish": "node-2"}
2026-01-28T20:33:46.589245Z INFO charon_peerinfo::protocol: Peer name to nickname mappings nicknames={"helpless-fish": "node-2"}
2026-01-28T20:33:46.589387Z INFO peerinfo: Received PeerInfo from 16Uiu2HAmTvWXpcGW3BcGXF4MX7gkSPetYzjXxhUZMUk1FQX5HH1J:
│ Version: v1.0.0
│ Git Hash: abc1234
│ Nickname: node-2
│ Builder API: false
│ Lock Hash: "00000000"
2026-01-28T20:33:46.589450Z INFO peerinfo: Received PeerInfo from 16Uiu2HAmTvWXpcGW3BcGXF4MX7gkSPetYzjXxhUZMUk1FQX5HH1J:
│ Version: v1.0.0
│ Git Hash: abc1234
│ Nickname: node-2
│ Builder API: false
│ Lock Hash: "00000000"
2026-01-28T20:33:46.589507Z INFO peerinfo: Received PeerInfo from 16Uiu2HAmTvWXpcGW3BcGXF4MX7gkSPetYzjXxhUZMUk1FQX5HH1J:
│ Version: v1.0.0
│ Git Hash: abc1234
│ Nickname: node-2
│ Builder API: false
│ Lock Hash: "00000000"
2026-01-28T20:33:46.590046Z INFO charon_peerinfo::protocol: Peer name to nickname mappings nicknames={"helpless-fish": "node-2"}
2026-01-28T20:33:46.590119Z INFO charon_peerinfo::protocol: Peer name to nickname mappings nicknames={"helpless-fish": "node-2"}
2026-01-28T20:33:46.590136Z INFO peerinfo: Received PeerInfo from 16Uiu2HAmTvWXpcGW3BcGXF4MX7gkSPetYzjXxhUZMUk1FQX5HH1J:
│ Version: v1.0.0
│ Git Hash: abc1234
│ Nickname: node-2
│ Builder API: false
│ Lock Hash: "00000000"
2026-01-28T20:33:46.590288Z INFO peerinfo: Received PeerInfo from 16Uiu2HAmTvWXpcGW3BcGXF4MX7gkSPetYzjXxhUZMUk1FQX5HH1J:
│ Version: v1.0.0
│ Git Hash: abc1234
│ Nickname: node-2
│ Builder API: false
│ Lock Hash: "00000000"
2026-01-28T20:33:46.590375Z INFO charon_peerinfo::protocol: Peer name to nickname mappings nicknames={"helpless-fish": "node-2"}
2026-01-28T20:33:46.590463Z INFO peerinfo: Received PeerInfo from 16Uiu2HAmTvWXpcGW3BcGXF4MX7gkSPetYzjXxhUZMUk1FQX5HH1J:
│ Version: v1.0.0
│ Git Hash: abc1234
│ Nickname: node-2
│ Builder API: false
│ Lock Hash: "00000000"
2026-01-28T20:33:48.810448Z WARN charon_peerinfo::protocol: Mismatching peer lock hash peer="beautiful-park" lock_hash="916a191e150f1ab4a358326e7e036290e838997a80e703b500876f6a982c7a51"
2026-01-28T20:33:48.810670Z INFO peerinfo: Received PeerInfo from 16Uiu2HAmFGE1p3vAxnJ8ghSYuGCiByguyD4SZBu8wu2PcrG1tz7A:
│ Version: v1.7.1-DIRTY
│ Git Hash: 749d2d7
│ Nickname: node0
│ Builder API: false
│ Lock Hash: "916a191e150f1ab4a358326e7e036290e838997a80e703b500876f6a982c7a51"
2026-01-28T20:33:51.590247Z INFO peerinfo: Received PeerInfo from 16Uiu2HAmTvWXpcGW3BcGXF4MX7gkSPetYzjXxhUZMUk1FQX5HH1J:
│ Version: v1.0.0
│ Git Hash: abc1234
│ Nickname: node-2
│ Builder API: false
│ Lock Hash: "00000000"
2026-01-28T20:33:51.590353Z INFO peerinfo: Received PeerInfo from 16Uiu2HAmTvWXpcGW3BcGXF4MX7gkSPetYzjXxhUZMUk1FQX5HH1J:
│ Version: v1.0.0
│ Git Hash: abc1234
│ Nickname: node-2
│ Builder API: false
│ Lock Hash: "00000000"
2026-01-28T20:33:51.590437Z INFO peerinfo: Received PeerInfo from 16Uiu2HAmTvWXpcGW3BcGXF4MX7gkSPetYzjXxhUZMUk1FQX5HH1J:
│ Version: v1.0.0
│ Git Hash: abc1234
│ Nickname: node-2
│ Builder API: false
│ Lock Hash: "00000000"
2026-01-28T20:33:51.590551Z INFO peerinfo: Received PeerInfo from 16Uiu2HAmTvWXpcGW3BcGXF4MX7gkSPetYzjXxhUZMUk1FQX5HH1J:
│ Version: v1.0.0
│ Git Hash: abc1234
│ Nickname: node-2
│ Builder API: false
│ Lock Hash: "00000000"
2026-01-28T20:33:51.590801Z INFO peerinfo: Received PeerInfo from 16Uiu2HAmTvWXpcGW3BcGXF4MX7gkSPetYzjXxhUZMUk1FQX5HH1J:
│ Version: v1.0.0
│ Git Hash: abc1234
│ Nickname: node-2
│ Builder API: false
│ Lock Hash: "00000000"
2026-01-28T20:33:51.590855Z INFO peerinfo: Received PeerInfo from 16Uiu2HAmTvWXpcGW3BcGXF4MX7gkSPetYzjXxhUZMUk1FQX5HH1J:
│ Version: v1.0.0
│ Git Hash: abc1234
│ Nickname: node-2
│ Builder API: false
│ Lock Hash: "00000000"
Documentation link(s)
Not applicable
- Lingua principale
- Rust
- Stelle
- 8
- Fork
- 6
- Merge medio
- 4g 3h
- PR unite (30g)
- 18
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di NethermindEth/pluto
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 52/100
NethermindEth/pluto#719 ·
I maintainer di solito rispondono entro 4 giorni
-
enhancement rust
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
NethermindEth/pluto#640 ·
I maintainer di solito rispondono entro 4 giorni
-
rust
Difficoltà 5/5 Più di una settimana Idoneità per principianti 45/100
NethermindEth/pluto#638 · 1 commento ·
I maintainer di solito rispondono entro 4 giorni
-
enhancement rust
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
NethermindEth/pluto#635 ·
I maintainer di solito rispondono entro 4 giorni
-
Improve `alpha test peers`: match Charon's probes; reduce timeoutsForse già presa @varex83agent l’ha presa 8 giorni fa. Apertabug track:orchestration-cli
Difficoltà 5/5 Più di una settimana Idoneità per principianti 28/100
NethermindEth/pluto#632 ·
I maintainer di solito rispondono entro 4 giorni
Tutte le issue di NethermindEth/pluto
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
chroma-core/chroma#7879 ·
I maintainer di solito rispondono entro 1 giorno
-
priority middle
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
KATO-Hiro/AtCoderClans#12838 ·
I maintainer di solito rispondono entro 1 giorno
-
clap_complete env (PowerShell): values after a space don't complete in Windows PowerShell 5.1Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno