# Changelog — nu-p2p All notable changes to this project will be documented in this file. Format: [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) --- ## [Unreleased] ## [0.3.0] — 2026-04-24 ### Added - `--api-addr` CLI argümanı (varsayılan: `127.0.0.1:30334`) — nu-node'un mesaj yayınlayabileceği yerel HTTP endpoint - `POST /publish` endpoint (axum) — `NetworkMessage` JSON alır, gossipsub'a `P2pCommand::Publish` olarak iletir; nu-node ↔ nu-p2p entegrasyonu tamamlandı - `NetworkMessage::topic()` — her varyant için doğru gossip topic'i döner (messages.rs) - `axum = "0.7"` bağımlılığı eklendi ## [0.2.0] — 2026-04-24 ### Added - `src/node.rs` — `P2pNode::start()`: libp2p swarm oluşturur, TCP + Noise + Yamux ile dinler, bootstrap peer'lara dial eder - `P2pCommand` enum: `Publish { topic, message }` ve `Shutdown` — `mpsc::Receiver` üzerinden dışarıdan kontrol - Gossipsub topic subscription: `nu/blocks/1`, `nu/txs/1`, `nu/votes/1`, `nu/validators/1` - Bağlantı event'leri: `ConnectionEstablished/Closed` → `PeerRegistry` güncellenir - Gelen gossip mesajları `NetworkMessage` olarak deserialize edilip loglanır - `src/main.rs` — `--listen` ve `--bootstrap` CLI argümanları, `clap` derive ### Changed - `Cargo.toml`: `libp2p macros` feature eklendi (`NetworkBehaviour` derive için), `tracing` `"1"` → `"0.1"` düzeltildi ## [0.1.0] — 2026-04-24 ### Added - `src/behaviour.rs` — `NuBehaviour` compositing Gossipsub + Kademlia DHT + Identify + Ping via `#[derive(NetworkBehaviour)]` - `src/messages.rs` — `NetworkMessage` enum: `BlockAnnounce`, `BlockRequest`, `BlockResponse`, `TxGossip`, `PeerExchange`, `ValidatorHeartbeat`, `VoteAnnounce` - Gossip topics: `nu/blocks/1`, `nu/txs/1`, `nu/votes/1`, `nu/validators/1` - `src/node.rs` — `P2pNode` struct with `start()` stub; wired in Faz 1 - libp2p 0.54 dependency with Gossipsub, Kademlia, Identify, Ping