I want to create my own Chord implementation for P2P file sharing I followed an article which explained that every node has it's ID (hash of the IP for example)
my questions are:
how a new client join the network?
By advertising its presence to other peers.
there must be a server to manage it. right?
Either a server or a location (URL) where peers can fetch IP addresses of other peers. This location is updated by peers themselves with fresh data.
If you dig deeper in this issue, you'll face the NAT traversal issue.
how you set for the new client the finger table?
By knowing/fetching other peers' id and computing the 'finger' order.