Skip to content

P2PChat is a cross-platform peer-to-peer chat application that combines a Go backend (using libp2p for networking) with a C# console frontend. The project enables users to connect, discover peers, and exchange messages directly over a decentralized network, without relying on centralized servers.

License

Notifications You must be signed in to change notification settings

AfonsoBatista7/P2PChat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

P2PChat

P2PChat is a cross-platform peer-to-peer chat application that combines a Go backend (using libp2p for networking) with a C# console frontend. The project enables users to connect, discover peers, and exchange messages directly over a decentralized network, without relying on centralized servers.

Features:

  • Decentralized peer discovery and messaging using libp2p
  • Real-time chat with colored and formatted console output
  • Cross-platform: Go backend and .NET (C#) frontend
  • Supports bootstrap nodes and relay peers for NAT traversal
  • Clean separation between backend and frontend for easy extensibility

How it works:

  • The C# frontend launches and communicates with the Go backend via HTTP.
  • The Go backend manages all P2P networking, peer discovery, and message relaying.
  • Messages are displayed in the console with clear formatting, and user input is handled responsively.

Getting Started:

  • Build the Go backend (go build -o chatp2p ./go-code)
  • Run the C# frontend (dotnet run --project P2PChat.Frontend -- -port -bootstrap "")
  • Connect to peers and start chatting!

About

P2PChat is a cross-platform peer-to-peer chat application that combines a Go backend (using libp2p for networking) with a C# console frontend. The project enables users to connect, discover peers, and exchange messages directly over a decentralized network, without relying on centralized servers.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published