p2pChat is a program I wrote to learn Golang. It started off as a simple peer-to-peer tcp chat program where I simply could telnet into it.
Node:
Telnet:
Soon I was able to have two nodes talking to each other no more telnet! I added some fancy colors to make the messages more readable.
I started working with data synchronization. I calculate a checksum of all the keys in my dataset. I used this approach as it used the least bandwidth.
Later on it morphed into a p2p chat sync program in which nodes communicate their current data state and updates other nodes to keep them all up to date with the latest data.
Image with no all debugging off: